我应该在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