如何在控制台中禁用 MongoDB 日志消息?
How can I disable MongoDB log messages in console?
我有这个小测试脚本:
require 'mongo'
mongo_client = Mongo::Client.new(['127.0.0.1:27017'], :database => 'test')
mongo_client[:collection].insert_one({a: 1})
这是控制台输出:
$ 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
我想禁用那些日志消息,我不想要脏的 STDOUT。我没有在 ruby 驱动程序中找到任何选项,而且我还尝试使用这些指令编辑 /etc/mongod.conf
(但没有修复它):
verbose = false
diaglog = 0
有什么想法吗?我不知道我还能尝试什么!
此日志记录来自 Ruby Mongo 驱动程序。默认日志记录级别似乎是 Logger::DEBUG
。将其更改为更高的值以禁用调试输出:
Mongo::Logger.logger.level = Logger::FATAL
要使驱动程序改为记录到日志文件:
Mongo::Logger.logger = Logger.new('mongo.log')
Mongo::Logger.logger.level = Logger::INFO
请注意,如果您使用的是 Mongoid ODM,那么您可能还想在那里调整日志记录:
Mongoid.logger = Logger.new('mongoid.log')
Mongoid.logger.level = Logger::INFO
对于 Rails + Mongoid 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
禁用 Ruby Mongo Driver(mongoid) 的调试输出
我们可以将它添加到特定的环境文件中,如
config.mongoid.logger.level = Logger::INFO
我有这个小测试脚本:
require 'mongo'
mongo_client = Mongo::Client.new(['127.0.0.1:27017'], :database => 'test')
mongo_client[:collection].insert_one({a: 1})
这是控制台输出:
$ 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
我想禁用那些日志消息,我不想要脏的 STDOUT。我没有在 ruby 驱动程序中找到任何选项,而且我还尝试使用这些指令编辑 /etc/mongod.conf
(但没有修复它):
verbose = false
diaglog = 0
有什么想法吗?我不知道我还能尝试什么!
此日志记录来自 Ruby Mongo 驱动程序。默认日志记录级别似乎是 Logger::DEBUG
。将其更改为更高的值以禁用调试输出:
Mongo::Logger.logger.level = Logger::FATAL
要使驱动程序改为记录到日志文件:
Mongo::Logger.logger = Logger.new('mongo.log')
Mongo::Logger.logger.level = Logger::INFO
请注意,如果您使用的是 Mongoid ODM,那么您可能还想在那里调整日志记录:
Mongoid.logger = Logger.new('mongoid.log')
Mongoid.logger.level = Logger::INFO
对于 Rails + Mongoid 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
禁用 Ruby Mongo Driver(mongoid) 的调试输出 我们可以将它添加到特定的环境文件中,如
config.mongoid.logger.level = Logger::INFO