Docs 主页 → 开发应用程序 → MongoDB 驱动程序 → Java (Sync) 驱动程序
日志记录
概述
在本指南中,您可了解如何在 MongoDB Java 驱动程序中设置和配置记录器。
您将了解如何:
使用 Simple Logging Facade For Java (SLF4J) 设置记录器
配置记录器的日志级别
本指南显示如何在驱动程序中记录事件。如果您想了解如何在代码中使用有关驱动程序活动的信息,可以参阅监控指南。
设置记录器
本部分介绍设置记录器所需的相关背景信息,并提供了一个示例记录器设置。
背景
MongoDB Java 驱动程序使用 Simple Logging Facade For Java (SLF4 J)。 SLF4 J 允许您在部署时指定所选的日志记录框架。有关 SLF4 J 的更多信息, 请参阅 SLF4 J 文档。
设置记录器是可选项。启动应用程序时,MongoDB Java 驱动程序会在您的类路径中查找 slf4j-api
工件。如果驱动程序找不到 slf4j-api
工件,驱动程序会使用 java.util.logging
记录以下警告,并禁用所有后续日志记录:
WARNING: SLF4J not found on the classpath. Logging is disabled for the 'org.mongodb.driver' component
若要设置记录器,必须在项目中包含以下内容。
slf4j-api
工件日志框架
绑定关系
注意
对于最受欢迎的日志记录框架,通常有一个绑定文件将 slf4j-api
和日志记录框架列为依赖项。这意味着您可以向项目的依赖项列表添加一份绑定文件,从而设置记录器。下面的示例说明了这一点。
绑定是一段将 slf4j-api
产品与日志框架连接起来的代码。以下示例展示了如何将 slf4j-api
产品绑定到两个最流行的日志框架 Log4j2 和 Logback。
示例 — 设置
此示例说明如何设置记录器。点击与要在项目中使用的日志记录框架相对应的标签页。
提示
依赖项版本
以下所列版本仅供参考,并非绝对真实的版本信息。您应检查 SLF4J 和您选择的日志框架的官方文档,以确保获得最新的版本信息。
配置您的记录器
要配置您的记录器,您必须使用绑定到 SLF4J 的日志框架的配置系统。
以下示例展示了如何使用日志记录框架的配置系统来设置记录器的日志级别。
日志记录器的日志级别规定了日志记录器输出消息的紧急程度下限。
示例 - 配置
此示例显示了如何将记录器的日志级别配置为 INFO。选择与项目中使用的日志框架相对应的标签页。
记录器名称
记录器使用记录器名称来帮助组织不同的日志事件。记录器名称是构成层次结构的字符串。如果一个记录器的名称加上 "."
是另一个记录器名称的前缀,则前者是后者的祖先。例如,"grandparent"
是 "grandparent.parent"
的祖先,后者又是 "grandparent.parent.child"
的祖先。
举例来说,这是代码中记录器的层次结构。
import org.slf4j.Logger; import org.slf4j.LoggerFactory; ... Logger logger_parent = LoggerFactory.getLogger("parent"); Logger logger_child = LoggerFactory.getLogger("parent.child");
记录器继承其“祖先”记录器的属性,并可以定义自己的属性。您可以认为这类似于 Java 中的类继承。
MongoDB Java 驱动程序定义了以下记录器名称来组织驱动程序中的不同日志记录事件。驱动程序中定义的日志记录器名称及其对应的日志事件如下。
org.mongodb.driver.authenticator
:身份验证org.mongodb.driver.client
:与MongoClient
个实例相关的事件org.mongodb.driver.cluster
:监控 MongoDB 部署org.mongodb.driver.connection
:连接和连接池org.mongodb.driver.connection.tls
:TLS/SSLorg.mongodb.driver.operation
:操作,其中包括与自动重试相关的日志记录操作org.mongodb.driver.protocol
:发送到 MongoDB 部署的命令以及从 MongoDB 部署收到的回复org.mongodb.driver.uri
:连接字符串解析org.mongodb.driver.management
:JMX(Java 管理扩展)
示例 - 名称
此示例演示如何更改特定驱动程序记录器的日志级别。我们将 root 记录器设置为 OFF,将 org.mongodb.driver.connection
记录器设置为 INFO。这将导致应用程序仅记录与连接到 MongoDB 实例相关的消息。
选择与项目中使用的日志记录框架相对应的标签页。