我应该在我的 rails 应用程序中的什么地方定义我的 resque 记录器
Where should I define my resque logger in my rails application
我已经在我的 rails 应用程序中设置了 Resque,一切正常。我的问题是记录器设置应该放在哪里。它应该在初始化程序中还是在 rake 任务中?在两者中设置时它都有效。我问的原因是我已经看到它在网络上的两个示例中都使用过。
我认为它可能应该在初始化程序中,因为最好的做法是将设置放入初始化程序中。
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 语法写出来。
例如:
Resque.logger.info "Resque task started!"
非常感谢。
编辑
那么我会坚持使用初始值设定项。
我肯定会把它放在初始化程序中,因为它只需要在设置服务器时调用一次。
另一种选择:如果在初始化程序(config/initializers/resquer.rb
)或 rake(lib/tasks/resque.rake
)中配置它,则在每个作业中配置 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
我已经在我的 rails 应用程序中设置了 Resque,一切正常。我的问题是记录器设置应该放在哪里。它应该在初始化程序中还是在 rake 任务中?在两者中设置时它都有效。我问的原因是我已经看到它在网络上的两个示例中都使用过。
我认为它可能应该在初始化程序中,因为最好的做法是将设置放入初始化程序中。
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 语法写出来。
例如:
Resque.logger.info "Resque task started!"
非常感谢。
编辑
那么我会坚持使用初始值设定项。
我肯定会把它放在初始化程序中,因为它只需要在设置服务器时调用一次。
另一种选择:如果在初始化程序(config/initializers/resquer.rb
)或 rake(lib/tasks/resque.rake
)中配置它,则在每个作业中配置 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