为lib目录中保存的代码配置日志记录的最佳/最简单方法是什么?
答案 0 :(得分:39)
有两种方法可以解决这个问题:
假设您的库是自包含的并且有一个模块,您可以在模块中添加logger
属性,并在库代码中的任何位置使用它。
然后,您可以使用config/initializers/
中的初始值设定项或config.after_initialize
中的config/environment.rb
块来初始化记录器,如下所示:
require 'mylibrary'
MyLibrary.logger = Rails.logger
这仍然允许您使用Rails之外的脚本中的自包含库。哪个好,有时候。
如果在没有Rails的情况下使用你的库根本没有意义,那么你也可以直接使用Rails.logger
。
在任何一种情况下,您都在处理标准的Ruby Logger。另请注意,理论上,记录器可能是nil
。
答案 1 :(得分:18)
我们可以直接在lib中使用Rails记录器,请参阅以下代码段。
require 'logger'
Rails.logger.info "Hay..!!! Im in lib"
Rails.logger.debug "Debugging this object from Lib #{object.inspect}"
Rails.logger.error "This is an error..."