0

我正在使用 Mongoid 与 MongoDB 进行交互。在开发过程中,我通常喜欢查看 Mongo 正在做什么的日志。但是,有一种情况是我根本不想看到过多的冗余日志记录。在这种特定情况下,如何禁用日志记录?

4

1 回答 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 回答