web-dev-qa-db-ja.com

Herokuのデバッグ

Herokuでアプリケーションを構築していますが、いくつか問題があります。 Rails server:

logger.debug '...'

Herokuでこれを行うにはどうすればよいですか?Herokuログでデバッグを確認できますか? (または何か他のもの..)

ありがとう!

32
AdamGold
21
Tam

HerokuのCedarスタックは、以前のスタックで機能するLOG_LEVEL config(env)変数に応答しないようです(私はlogging:expandedアドオンを使用しています)。 LOG_LEVELをdebugDEBUGの両方に設定しようとしましたが、成功しませんでした。

Config/environments/production.rbでconfig.log_level = :debugを設定することによってのみ、「logger.debug」の出力を確認できます。

12
Blockpusher

これと長い間戦い続けてきましたが、解決策は素晴らしくシンプルです:

代わりにproduction.rbに設定

config.log_level = :debug

場所:

config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG

完全なログ出力が得られます。

12
Michael Schmitz

heroku logsコマンドラインで、現在のアプリのログを取得します。 expanded logging がオンになっている場合、この出力をテールすることができます

9

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>

これにより、必要に応じて簡単にログを記録できます。

6

これは私のために働きました:

heroku config:set LOG_LEVEL=debug
5
Steven Soroka

Herokuのログに書き込むには、logger.debug "..."を使用する代わりに、単にputsを使用します。

puts "..."

あなたはconfig.log_levelconfig/environments/production.rbを設定する必要さえありません

こちらのドキュメントをご覧ください。

1
user664833
config.log_level = ENV['APP_LOG_LEVEL'] ? ENV['APP_LOG_LEVEL'].to_sym : :error
0
Omer