【问题标题】:Ruby Mongo: How to disable logging on certain collections?Ruby Mongo:如何禁用某些集合的日志记录?
【发布时间】:2012-05-28 03:58:12
【问题描述】:

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

【问题讨论】:

标签: ruby mongodb mongoid


【解决方案1】:

似乎没有任何干净的方法可以在每个集合的基础上控制 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-05
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 2020-01-17
    • 2016-07-04
    相关资源
    最近更新 更多