2011-10-26 2 views
2

私はRailsを使い慣れていますが、ログを記録するデフォルトのディレクトリを変更したい既存のRailsアプリケーションがあります。それを行う最も簡単な方法は何ですか?Railsアプリケーションのログ記録ディレクトリを変更する

+0

他のディレクトリにログするか、別の場所にディレクトリをシンボリックリンクするだけですか?プロダクションデプロイメントでは、 'logs'ディレクトリに' deploy/shared/logs'をシンボリックリンクさせています。これはcapのデフォルトです。 –

+0

ええ、symlinkがオプションになる可能性がありますが、ディレクトリを明示的に設定する方法はありますか? –

答えて

5

プロダクションサーバーでは、通常、ログディレクトリは一般的なログ場所にシンボリックリンクされています。これは、ログをレールアプリケーション外のディレクトリに書きたい場合にお勧めします。あなたはもちろん、どのロガー/のIOStreamにごdevelopment.rb/production.rb/application.rbでRails.loggerを再初期化することができます:

Rails.logger = Logger.new STDOUT #or File.open('somewhere/production.log', 'a'), i think it should even work with a stream of a tcp socket 
9

あなたはあなたの設定で明示的にロガーを指定することができます。

my_logger = ActiveSupport::BufferedLogger.new(path) 
config.logger = my_logger 

これはロガーとどのようなオプションこのRails Configuration Guideで利用可能なを設定する方法の良い詳細がありますRails.logger

+1

それは私のために働いた。ありがとう! –

0

に置き換えられます。

実際には、必要に応じて、active_record/action_controller/active_resource/etcに異なるロガーを設定することができます。これには、configを介してlog_levelを設定する方法の詳細も含まれます。

関連する問題