Herokuでアプリケーションを構築していますが、いくつか問題があります。 Rails server:
logger.debug '...'
Herokuでこれを行うにはどうすればよいですか?Herokuログでデバッグを確認できますか? (または何か他のもの..)
ありがとう!
HerokuのCedarスタックは、以前のスタックで機能するLOG_LEVEL config(env)変数に応答しないようです(私はlogging:expandedアドオンを使用しています)。 LOG_LEVELをdebug
とDEBUG
の両方に設定しようとしましたが、成功しませんでした。
Config/environments/production.rbでconfig.log_level = :debug
を設定することによってのみ、「logger.debug」の出力を確認できます。
これと長い間戦い続けてきましたが、解決策は素晴らしくシンプルです:
代わりにproduction.rbに設定
config.log_level = :debug
場所:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG
完全なログ出力が得られます。
heroku logs
コマンドラインで、現在のアプリのログを取得します。 expanded logging がオンになっている場合、この出力をテールすることができます
Rails 3.2を使用して、環境変数から駆動するようにconfig/environments/{environment} .rbを変更することにより、これを構成可能にしました:
config.log_level = ENV["LOG_LEVEL"].to_sym if ENV["LOG_LEVEL"]
次に、Heroku構成変数を変更して変更します。
heroku config:set LOG_LEVEL=debug --app <app name>
これにより、必要に応じて簡単にログを記録できます。
これは私のために働きました:
heroku config:set LOG_LEVEL=debug
Herokuのログに書き込むには、logger.debug "..."
を使用する代わりに、単にputs
を使用します。
puts "..."
あなたはconfig.log_level
でconfig/environments/production.rb
を設定する必要さえありません。
config.log_level = ENV['APP_LOG_LEVEL'] ? ENV['APP_LOG_LEVEL'].to_sym : :error