web-dev-qa-db-fra.com

Comment puis-je désactiver les messages du journal MongoDB dans la console?

J'ai ce petit script de test:

require 'mongo'

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

Voici la sortie de la console:

$ 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

Je veux désactiver ces messages de log, je ne veux pas d'un STDOUT sale. Je n'ai trouvé aucune option pour cela dans le pilote Ruby, et j'ai également essayé de modifier /etc/mongod.conf avec ces directives (mais cela ne l'a pas corrigé):

verbose = false
diaglog = 0

Une idée? Je ne sais pas quoi d'autre je peux essayer!

43
raulmarcosl

Cette journalisation provient du pilote Ruby Mongo. Le niveau de journalisation par défaut semble être Logger::DEBUG. Remplacez-le par quelque chose de plus élevé pour désactiver la sortie de débogage:

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

Pour que le pilote se connecte à un fichier journal à la place:

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

Notez que si vous utilisez l'ODM mongoïde , vous souhaiterez peut-être également ajuster la journalisation:

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

Pour Rails + Mongoid in 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
93
Casper

Pour désactiver la sortie de débogage pour Ruby Mongo Driver (mongoid), nous pouvons lui ajouter un fichier d'environnement spécifique comme

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

1
Pooja Mane