Docs 菜单
Docs 主页
/ / /
Ruby 驱动程序
/

记录驱动程序事件

在本指南中,您可以学习;了解如何使用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

后退

监控

在此页面上