3

着信 IP をログに記録したくありません。内部の出来事をログに記録したくありません。
Rails がリクエストを受け取ったときにそれを処理するようにしたいだけで、それだけです。

これは可能ですか?

development.log または production.log が大きくなるのを防ぐにはどうすればよいですか?

4

3 に答える 3

3

Rails のログ機能を、/dev/null にログを記録するロガーに置き換えるだけです。

class NullLoggerRailtie < Rails::Railtie
  initializer 'null_logger', :before => 'initialize_logger' do |app|
    Rails.logger = ActiveRecord::Base.logger = ActionController::Base.logger = ::Logger.new("/dev/null")
  end
end

これにより、Rails のすべてのロギングが、どこかのファイルに移動するのではなく、null デバイスに再ルーティングされます。ロギングは引き続き行われますが、すぐに破棄されます。

于 2013-04-18T00:52:50.127 に答える
3

ログレベルを設定します。

使用可能なログ レベルは次のとおりです:debug, :info, :warn, :error:fatal

現在のログ レベルを知りたい場合は、Rails.logger.level メソッドを呼び出すことができます。

ログレベルを変更するconfig.log_level = :fatalには、環境初期化子で使用するか Rails.logger.level = 0、いつでもインラインで使用します

別のオプションとして、ログ ファイルを /dev/null にシンボリック リンクすることもできます。

于 2013-04-18T00:37:45.933 に答える