为 MongoDB Java 驱动程序配置日志记录

2022-09-01 05:02:50

我是否可以配置MongoDB Java驱动程序以输出有用的(用于调试)消息,理想情况下使用标准日志记录框架之一?我主要感兴趣的是查看每个发出的查询,接收了多少数据以及花费了多长时间,以及任何错误代码。


答案 1

在加载任何 MongoDB Java 驱动程序类之前,您需要设置几个系统属性:

// Enable MongoDB logging in general
System.setProperty("DEBUG.MONGO", "true");

// Enable DB operation tracing
System.setProperty("DB.TRACE", "true");

完成此操作后,驱动程序将使用标准的 Java 日志记录框架来记录消息。

不幸的是,据我所知,从Java驱动程序代码中可以看出,日志记录粒度并不是那么好 - 例如,您无法有选择地记录特定集合上的操作。


答案 2

有人仍然面临新版本mongodb驱动程序3.x的这个问题吗?

log4j.properties中为mongo驱动程序包定义一个记录器

log4j.logger.org.mongodb.driver=INFO

com.mongodb 已更改为 org.mongodb