51

コントローラーでいくつかの変数を表示したいのですが、次のことを試しました:

Rails.logger.debug "Year: #{Time.now.year}"

puts "Year: #{Time.now.year}, Month: #{@month}"

本番モードでのロガーまたはプットの出力はどこで確認できますか? これらをどこかで表示するには、何かを設定する必要がありますか?

4

3 に答える 3

122

本番環境での通常のログ レベルはinfoであるため、debugログは表示されません。
ロギングを次のように変更します

Rails.logger.info "Year: #{Time.now.year}"

で表示しproduction.logます。

別の方法として (ただし、良い考えではありません)、次のログ レベルを上げることができます/config/environments/production.rb

config.log_level = :debug

Rails 4.2 を更新します。

現在、すべての環境でのデフォルトのデバッグ レベルは:debug(@nabilh が述べたように) です。
本番環境でチャタリングを減らしたい場合は、ログレベルを/config/environments/production.rb前者にリセットでき:infoます。

config.log_level = :info
于 2013-05-30T09:30:31.337 に答える
9

config.log_level = :debuginを使用してログを乱雑にしたくないという @martin-m の意見は正しいと思いますが、すべての環境/config/environments/production.rbでのデフォルトのログ レベルは Rails 4.2 以降です。そのため、特に指定しない限り、ログ (およびすべてのレベルアップ) が本番環境で表示されます。debugdebug

したがって、あなたの質問に答えて、次のように書くことができます。

Rails.logger.debug "Year: #{Time.now.year}"で結果を参照してください/log/production.log

詳細なドキュメントについては、こちらを参照してください。比較のために Rails 4.1 のドキュメントを次に示します。

于 2015-10-28T19:01:24.510 に答える