【问题标题】:Where should a gem store log files?gem 应该在哪里存储日志文件?
【发布时间】:2013-06-15 19:13:31
【问题描述】:

我正在构建一个应该输出日志文件的 ruby​​ gem。在哪里存储日志文件是个好习惯?

我正在从我正在构建的 Rails 网站中提取此功能,在那里我可以简单地登录 log/ 目录。

【问题讨论】:

  • 这是为公共宝石设计的吗?如果是这样,我建议支持用户提供记录器对象的方式,而不是让 gem 确定记录路径。
  • 我喜欢这个答案,我想选择它,因为我要使用它。一个很大的优点是对如何做到这一点的简短描述:它应该是一个初始化参数吗?

标签: ruby gem


【解决方案1】:

理想情况下,使路径可配置(.rc 文件、开关、rails/rack 配置等)。

如果它是一个 Rack 中间件,添加在构造函数的参数中指定它的可能性。

如果未提供日志路径,则回退到检测日志目录。 (我依稀记得它在 Rails 中是 config.paths['log'],但如果它可以在 Rails 之外使用,请确保 config 在您的 gem 中使用之前确实指向某些东西。)

如果所有其他方法都失败了,请登录到无处...

此外,如果您默认启用日志记录,则允许禁用它。不是每个人都想要日志。

【讨论】:

  • 感谢您的建议!默认情况下,我可能不会登录到任何地方。
  • 对这个答案的怨恨:我试过if defined? Rails and defined? config,即使从 Rails 运行也没有定义配置。什么给了?
  • 恐怕我的 Rails-fu 太生锈了,无法提供帮助。 :-(
  • 如果有人想知道,我认为问题在于我在初始化程序中执行此操作,如果我没记错的话,Rails 配置对象在初始化后可用。没有找到解决办法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 2023-03-25
相关资源
最近更新 更多