我应该在rails应用程序中的哪个位置定义resque记录器
我在我的rails应用程序中设置了Resque,它一切正常。 我的问题是记录器设置应该在哪里。 它应该在初始化程序中还是在rake任务中? 它在两者中设置时都有效。 我问的原因是我已经看到它在网上的例子中都使用过。
我认为它应该在初始化器中,因为将setup设置为初始化器是最佳实践。
配置/初始化/ resque.rb
logfile = File.open(File.join(Rails.root, 'log', 'resque.log'), 'a') logfile.sync = true Resque.logger = ActiveSupport::Logger.new(logfile) Resque.logger.level = Logger::INFO
然后我使用rake任务和作业中的Resque.logger语法写出来。
例如:
Resque.logger.info "Resque task started!"
提前谢谢了。
编辑
我会坚持使用初始化程序。
我肯定会把它放在初始化器中,因为在设置服务器时它只需要调用一次。
另一个选择:如果在初始化程序( config/initializers/resquer.rb
)或rake( lib/tasks/resque.rake
)中config/initializers/resquer.rb
记录器,那么在每个作业中配置resque记录器都不适用于你,它不完美但只是起作用。
class OneJob def self.perform Resque.logger = Logger.new("#{Rails.root}/log/resque.log") Resque.logger.level = Logger::DEBUG Resque.logger.info 'Job starts' ... end en