Ich habe diese kleine Testskript:Wie kann ich MongoDB Log-Nachrichten in der Konsole deaktivieren?
require 'mongo'
mongo_client = Mongo::Client.new(['127.0.0.1:27017'], :database => 'test')
mongo_client[:collection].insert_one({a: 1})
Jahr Dies ist die Ausgabe der Konsole:
$ 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
ich die Log-Meldungen zu deaktivieren, ich habe nicht ein schmutziges STDOUT will. Ich habe keine Möglichkeit, dies in den Ruby-Treiber gefunden, und ich habe auch zu bearbeiten /etc/mongod.conf
mit diesen Richtlinien versucht (aber es hat es nicht fix):
verbose = false
diaglog = 0
Jede Idee? Ich weiß nicht, was ich noch versuchen kann!
Danke hinzufügen! Vielen Dank! Vielen Dank! Ich habe das in der Treiberdokumentation nicht gefunden, du hast mir noch ein paar Stunden der Verzweiflung erspart. – raulmarcosl
Das hat nicht deaktiviert, dass Abfragen in meiner Konsole protokolliert werden. Mongoid.logger.level = Logger :: INFO hat den Trick gemacht. – Ekkstein
Das funktionierte nicht für mich auf Mongoid 6. Das ist, was funktionierte, wenn ich es in application.rb setzen Mongoid :: Config.logger = Logger.new ("# {Rails.root} /log/mongo.log ") – Prabhakar