¿Cómo puedo desactivar los mensajes de registro de MongoDB en la consola?


Tengo este pequeño script de prueba:

require 'mongo'

mongo_client = Mongo::Client.new(['127.0.0.1:27017'], :database => 'test')
mongo_client[:collection].insert_one({a: 1})

An esta es la salida de la consola:

$ ruby test.rb
D, [2015-05-17T21:12:05.504986 #25257] DEBUG -- : MONGODB | Adding 127.0.0.1:27017 to the cluster. | runtime: 0.0212ms
D, [2015-05-17T21:12:05.531238 #25257] DEBUG -- : MONGODB | COMMAND | namespace=admin.$cmd selector={:ismaster=>1} flags=[] limit=-1 skip=0 project=nil | runtime: 24.5481ms
D, [2015-05-17T21:12:05.554532 #25257] DEBUG -- : MONGODB | COMMAND | namespace=test.$cmd selector={:insert=>"collection", :documents=>[{:a=>1, :_id=><BSON::ObjectId:0x21935660 data=5558e80553657262a9000000>}], :writeConcern=>{:w=>1}, :ordered=>true} flags=[] limit=-1 skip=0 project=nil | runtime: 21.1718ms

Quiero desactivar esos mensajes de registro, no quiero un STDOUT sucio. No encontré ninguna opción para esto en el controlador ruby, y también he intentado editar /etc/mongod.conf con estas directivas (pero no lo arregló):

verbose = false
diaglog = 0

Alguna idea? ¡No se que más puedo intentar!

Author: Simon B., 2015-05-18

2 answers

Este registro proviene del controlador Ruby Mongo. El nivel de registro predeterminado parece ser Logger::DEBUG. Cámbialo a algo más alto para desactivar la salida de depuración:

Mongo::Logger.logger.level = Logger::FATAL

Para hacer el registro del controlador a un archivo de registro en su lugar:

Mongo::Logger.logger       = Logger.new('mongo.log')
Mongo::Logger.logger.level = Logger::INFO

Tenga en cuenta que si está utilizando el Mongoid ODM, entonces es posible que desee ajustar el registro allí también:

Mongoid.logger       = Logger.new('mongoid.log')
Mongoid.logger.level = Logger::INFO 

Para Rails + Mongoid en application.rb:

config.mongoid.logger = Logger.new(Rails.root + '/log/mongoid.log', :warn)

# ...or change the logging level without a new file destination
config.mongoid.logger.level = Logger::INFO
 88
Author: Casper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-09 02:52:48

Para deshabilitar la salida de depuración para el controlador Ruby Mongo (mongoid) podemos agregarlo archivo de entorno específico como

config.mongoid.logger.level = Logger::INFO

 1
Author: Pooja Mane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-25 14:22:12