我设法使用此配置登录自定义日志文件:
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"
请注意,我将loggin级别设置为:debug in production。在config / environments / production.rb中,我有这样的配置:
config.log_level = :debug
答案 0 :(得分:1)
基本上@yoav是对的,你不能在heroku上写你自己的日志文件(没有文件系统访问权限)。你可以做的是在这里的heroku日志中描述:https://devcenter.heroku.com/articles/logging#writing-to-your-log