0

I am using Mongoid for interacting with MongoDB. In development I usually like to see the logs of what Mongo is doing. However, there is one instance where there is an excessive amount of redundant logging that I simply don't want to see. How can I disable logging in this specific case?

Andrew
  • 227,796
  • 193
  • 515
  • 708

1 Answers1

0

There doesn't appear to be any clean way to control logging in Mongoid on a per collection basis. However, for your purposes, if you are able to identify the individual calls, you can turn off logging temporarily by raising the level. Hope that this is good enough for your purposes.

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
Gary Murakami
  • 3,392
  • 1
  • 16
  • 20