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 に答える