[英] Rails: Logging for code in the lib directory?
为保存在lib目录中的代码配置日志(log)记录的最佳/最简单的方法是什么?
为保存在lib目录中的代码配置日志(log)记录的最佳/最简单的方法是什么?
有两种方法:
假设您的库是自包含的,并且有一个模块,您可以向模块添加一个logger
属性,并在库代码的任何地方使用它.
module MyLibrary
mattr_accessor :logger
end
然后使用config/initializers/
中的初始值设定项或config/environment.rb
中的config.after_initialize
块来初始化记录器,如下所示:
require 'mylibrary'
MyLibrary.logger = Rails.logger
这仍然允许您从Rails之外的脚本中使用自包含的库.有时候这很好.
如果在没有Rails的情况下使用库真的毫无意义,那么您也可以直接使用Rails.logger
.
在这两种情况下,您都在处理一个标准的Ruby记录器.还要记住,理论上,记录器可能是nil
.
带有 master.key 的 Rails 5.2 - Heroku 部署
Gem::LoadError: 无法激活 pg (~> 0.18),已经激活 pg-1.0.0
Rails:ENV.fetch() 和 ENV[] 之间的区别
Ruby中的`try`和`&.`(安全导航运算符)有什么区别
Ruby 2.4 和 Rails 4 堆栈级别太深 (SystemStackError)
为什么 Rails 5 使用 ApplicationRecord 而不是 ActiveRecord::Base?
ActiveRecord where field = ?可能值的数组
如何使用 Rspec 判断 ActiveJob 中排队的内容
如何在 Rails 4 中加载供应商assets资源 文件夹?
OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read server hello A