如何将日志记录级别设置为MongoDb的信息?

时间:2012-01-09 19:47:19

标签: ruby-on-rails-3 mongodb logging mongoid

我有一个在背面使用MongoDb的Rails应用程序。我的日志中有MONGODB [WARNING] Please note that logging negatively impacts client-side performance. You should set your logging level no lower than :info in production这些消息。好吧,我从不担心它,但决定刚才查一查。

This page on the mongo site并未真正讨论日志记录级别,但它会详细讨论-v vs -vvvv的详细程度。这与日志级别相同吗?由于-vvvvv与调试日志级别相同,-v与错误日志级别相同?关于这个主题的文档非常不清楚。

3 个答案:

答案 0 :(得分:6)

我在测试中遇到了这个问题,所以我最终在spec_helper.rb中执行了以下操作:

Mongoid.logger.level = Logger::INFO

但是如果你在rails中,你应该(未经测试)使用它来代替访问记录器:

config.mongoid.logger

答案 1 :(得分:1)

记录级别是指rails记录级别,而-v标志是指详细程度。

Rails会自动将生产中的日志记录级别设置为高于开发中的级别,因此您不必担心任何问题。

答案 2 :(得分:1)

如果您使用mongoid 2.2或更高版本,可以在mongoid.yml中设置:

production:
  hosts:
    ...
  database: ...
  logger: false

此外,此确实会对性能产生影响。当我关闭mongo登录生产时,我看到使用apachebench进行30分钟负载测试时,垃圾收集和app实例内存占用量减少了约15 MB。