我设法使用此配置登录到自定义日志文件:
Delayed::Worker.logger =
ActiveSupport::BufferedLogger.new("log/#{Rails.env}_delayed_jobs.log", Rails.logger.level)
它在本地工作。我可以看到文件更改和我想要的所有日志。
但问题是当我部署到 Heroku 并运行作业,并尝试通过控制台读取文件的内容时,我没有得到预期的结果。
irb(main):070:0* File.read('/app/log/production_delayed_jobs.log')
=> "# Logfile created on 2013-06-20 08:36:43 +0000 by logger.rb/25413\n"
请注意,我将登录级别设置为 :debug 在生产中。在 config/environments/production.rb 我有这个配置:
config.log_level = :debug