2012-05-21 68 views
0

我正在使用Mongoid與MongoDB進行交互。在開發中,我通常喜歡看Mongo正在做什麼的日誌。但是,有一種情況我只是不想看到過多的冗餘日誌記錄。如何在這種特定情況下禁用日誌記錄?Ruby Mongo:如何禁用某些集合的日誌記錄?

+0

這可能是我感興趣的內容:http://stackoverflow.com/a/30292413/1566187 – Elyasin

回答

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