我已经在我的rails应用程序中设置了Resque,它一切正常。我的问题是记录器设置应该放在哪里。它应该在初始化程序中还是在rake任务中?它在两者中设置时都有效。我问的原因是我已经看到它在网上的例子中都使用过。
我认为它可能应该在初始化程序中,因为它是将setup设置为初始化程序的最佳实践。
config / initializers / 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语法写出来。
E.G:
Resque.logger.info "Resque task started!"
非常感谢提前。
修改
我会坚持使用初始化程序。
答案 0 :(得分:4)
我肯定会把它放在初始化程序中,因为在设置服务器时只需要调用一次。
答案 1 :(得分:0)
另一个选择:如果在初始化程序(config/initializers/resquer.rb
)或rake(lib/tasks/resque.rake
)中配置resreg logger并不适用于你,那么在每个作业中配置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