gil*_*las 11 ruby ruby-on-rails ruby-on-rails-3
我有一个我写的宝石,我在我的rails应用程序中使用它.
我想从我的gem写入rails logger,但显然那里没有标准的rails logger.
实现我想做的事的正确方法是什么?
Jes*_*mer 15
正如Frederick Cheung所说,你应该为你的gem使用命名空间记录器:MyGem.logger
.
然后将其设置为Railtie中的Rails记录器,以便您的gem在Rails的内部和外部都能很好地工作.
module MyGem
class Railties < ::Rails::Railtie
initializer 'Rails logger' do
MyGem.logger = Rails.logger
end
end
end
Run Code Online (Sandbox Code Playgroud)
虽然您应该能够使用,但Rails.logger
您可能需要考虑使用gem可以配置的记录器,即允许用户设置MyGem.logger
他们想要的任何记录器.
您可以将其默认为只能写入stdout的内容,您可以MyGem.logger = Rails.logger
在初始化程序中设置的rails应用程序中.在轨道之外使用宝石的人也可以这样做.
归档时间: |
|
查看次数: |
4599 次 |
最近记录: |