首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在控制台中禁用MongoDB日志消息?

如何在控制台中禁用MongoDB日志消息?
EN

Stack Overflow用户
提问于 2015-05-18 05:00:46
回答 1查看 18.6K关注 0票数 47

我有一个小的测试脚本:

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

有什么想法吗?我不知道我还能尝试什么!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-18 05:37:10

此日志记录来自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 

对于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
票数 105
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30292100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档