Docs Menu
Docs Home
/ / /
루비 드라이버
/

드라이버 이벤트 로그

이 가이드 에서는 Ruby 운전자 사용하여 애플리케이션 에 대한 로깅 을 구성하는 방법을 학습 수 있습니다. 로깅을 사용하면 운전자 활동에 대한 개별 이벤트 기반 로그 볼 수 있습니다.

로거는 사용자가 지정할 수 있는 심각도 또는 상세도 수준으로 메시지를 로그 . 애플리케이션 로그인을 활성화 하면 다양한 수준에서 애플리케이션 활동에 대한 정보를 받을 수 있습니다. 운전자 사용하면 다음과 같은 심각도 수준으로 분류된 정보를 로그 할 수 있습니다.

  • unknown

  • fatal

  • error

  • warn

  • info

  • debug

앞의 목록은 심각도 수준이 낮은 순으로 정렬되며 unknown 이 가장 높은 심각도 수준입니다. 심각도 수준을 지정하면 운전자 심각도 수준이 더 높은 모든 메시지도 기록합니다. 예시 들어 로그 수준을 error로 설정하다 운전자 fatalunknown 심각도 수준의 메시지도 로그 합니다.

지정하는 심각도 수준이 낮을수록 운전자 더 많은 정보를 기록하므로 애플리케이션 성능에 영향 수 있습니다.

운전자 이벤트에 대한 메시지를 수신하도록 애플리케이션 구성하려면 Logger 클래스의 인스턴스 만듭니다. 선택적으로 로깅 심각도 수준을 지정합니다. 심각도 수준을 지정하지 않으면 기본값 심각도 수준은 INFO입니다. 그런 다음 로거를 사용하도록 Mongo::Client 객체 구성합니다.

다음 예시에서는 다음 작업을 수행합니다:

  • 로거를 만들고 출력을 STDOUT에 기록합니다. 파일 경로를 제공하여 파일 에 로그 할 수도 있습니다.

  • 심각도 수준을 DEBUG로 설정합니다.

  • 로거를 사용하도록 Mongo::Client 를 구성합니다.

  • 삽입 작업으로 로거를 테스트합니다.

require 'mongo'
require 'logger'
# Create a new Logger instance
logger = Logger.new(STDOUT) # You can also log to a file by providing a file path
# Set the log level (optional)
logger.level = Logger::DEBUG # Options are DEBUG, INFO, WARN, ERROR, FATAL, UNKNOWN
# Configures the Mongo client to use the logger
client = Mongo::Client.new(['127.0.0.1:27017'], logger: logger)
# Tests the logger with an insert operation
client[:test_collection].insert_one({ name: 'Test' })
D, [2025-08-14T15:58:36.804464 ...] DEBUG -- : MONGODB | Topology type 'unknown' initializing.
D, [2025-08-14T15:58:36.804618 ...] DEBUG -- : MONGODB | There was a change in the members of the 'Unknown' topology.
D, [2025-08-14T15:58:36.804694 ...] DEBUG -- : MONGODB | Server 127.0.0.1:27017 initializing.
D, [2025-08-14T15:58:36.805036 ...] DEBUG -- : MONGODB | Waiting for up to 30.00 seconds for servers to be scanned: #<Cluster topology=Unknown[127.0.0.1:27017] servers=[#<Server address=127.0.0.1:27017 UNKNOWN>]>
D, [2025-08-14T15:58:36.817796 ...] DEBUG -- : MONGODB | Server description for 127.0.0.1:27017 changed from 'unknown' to 'standalone'.
D, [2025-08-14T15:58:36.818009 ...] DEBUG -- : MONGODB | Topology type 'Unknown' changed to type 'Single'.
D, [2025-08-14T15:58:36.819403 ...] DEBUG -- : MONGODB | 127.0.0.1:27017 req:6 conn:1:1 sconn:15 | admin.insert | STARTED | {"insert"=>"test_collection", "ordered"=>true, "documents"=>[{"name"=>"Test", "_id"=>BSON::ObjectId('689e3fec1524159575156479')}]..., ...}
D, [2025-08-14T15:58:36.835978 ...] DEBUG -- : MONGODB | 127.0.0.1:27017 req:6 | admin.insert | SUCCEEDED | 0.017s

로거 출력에는 작업 시간, 메시지의 심각도 및 로그 메시지가 포함됩니다.

전역 로깅 수준을 설정하다 수 있으므로 각 로거에 대해 심각도 수준을 수동으로 설정하다 필요가 없습니다. 다음 예시 글로벌 로깅 수준을 설정하다 방법을 보여줍니다.

# Sets the logger level globally
Mongo::Logger.level == LOGGER.DEBUG

Ruby 운전자 의 로거 옵션에 대한 자세한 내용은 다음 API 문서를 참조하세요.

  • Mongo::Logger

  • Mongo::Loggable

돌아가기

모니터링

이 페이지의 내용