programing

콘솔에서 MongoDB 로그 메시지를 비활성화하려면 어떻게 해야 합니까?

nicescript 2023. 5. 22. 23:18
반응형

콘솔에서 MongoDB 로그 메시지를 비활성화하려면 어떻게 해야 합니까?

다음과 같은 작은 테스트 스크립트가 있습니다.

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를 원하지 않습니다.루비 드라이버에서 이에 대한 옵션을 찾지 못했고 편집도 시도했습니다./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 

레일 + 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

다른 대답들은 저에게 효과가 없었습니다.

이 기능은 최신 Ruby/Rails 버전에서 작동합니다.

config.mongoid.logger = Logger.new(Rails.root.join('log/mongoid.log'), level: :warn)

언급URL : https://stackoverflow.com/questions/30292100/how-can-i-disable-mongodb-log-messages-in-console

반응형