web-dev-qa-db-ja.com

Rails 3でロガーを設定する

Rails 3.でロガーを使用する方法を理解しようとしています。コンソールにないファイルにログを記録する必要がありますが、設定方法がわからないだけですそれから、そのログに何かを書き込む方法を説明しました。Rails docsを試しましたが、実際にはわかりませんでした。

37
John Baker

デフォルトでは、Railsはプロジェクトのlogディレクトリにある環境固有のログファイルにログを記録する必要があります。これはtest.logdevelopment.logのいずれかと呼ばれます、またはproduction.logは、実行している環境に応じて異なります。

Rails.loggerオブジェクトを使用して、Railsのロガーに直接ログを記録できます。

Rails.logger.info "My info message"
Rails.logger.debug "My debugging message"
Rails.logger.warn "My warning message"

Railsは以前は Rubyの標準ロギングクラス を使用していましたが、現在は ActiveSupport::BufferedLogger を使用しています。 (公式の Ruby on Rails Guides が「RailsはRubyの標準ロガーを使用してログ情報を書き込む」と言っている場合は正しくありません)。

82
Dylan Markow