1

我设法使用此配置登录到自定义日志文件:

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
4

1 回答 1

1

基本上@yoav 是对的,你不能在heroku 上写入你自己的日志文件(没有文件系统访问权限)。您可以在此处的 heroku 日志中进行描述:https ://devcenter.heroku.com/articles/logging#writing-to-your-log

于 2013-06-20T18:09:00.833 回答