MongoDB とのやり取りに Mongoid を使用しています。開発中、私は通常、Mongo が行っていることのログを見るのが好きです。ただし、見たくない冗長ログが過剰に発生する例が 1 つあります。この特定のケースでログを無効にするにはどうすればよいですか?
質問する
562 次
1 に答える
0
コレクション単位で Mongoid のロギングを制御するクリーンな方法はないようです。ただし、目的のために、個々の呼び出しを識別できる場合は、レベルを上げることでログを一時的にオフにすることができます。これがあなたの目的に十分であることを願っています。
require 'test_helper'
def dont_log(temp_level = Logger::Severity::UNKNOWN)
logger = Rails.logger
old_level, logger.level = logger.level, temp_level
yield
logger.level = old_level
end
class LogDoTest < ActiveSupport::TestCase
def setup
LogDo.delete_all
LogDont.delete_all
end
test "log do dont" do
LogDo.create(text: 'Log me')
dont_log{ LogDont.create(text: 'Dont log me') }
end
end
于 2012-05-25T19:23:21.643 に答える