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

推荐答案

加载任何MongoDB Java驱动程序类时,需要设置两个系统属性:

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

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

之后,驱动程序将使用the standard Java logging framework来记录消息.

不幸的是,从Java驱动程序代码中可以看出,日志(log)记录的粒度并不是很好——例如,您不能有 Select 地记录特定集合上的操作.

Mongodb相关问答推荐

在提供的文档(_Id)之后和之前,是否有一个Mongo操作来获取已排序(和/或过滤)集合中的文档计数?

如何填充Mongoose中的嵌套引用

如何从集合中移除所有匹配的数组项?

分组前的 MongoDb 聚合总数

错误起草的 MongoDB 聚合管道 $match 阶段

MongoDB shell:如何删除列表以外的所有集合

mongo:在 mongodb 6.0 docker 容器上找不到命令

替换 MongoDB 中数组中的嵌入文档

Mongodb 仅在值唯一时插入,否则更新 - 在 node.js 中

.insertOne 不是函数

使用 MongoDb 处理迁移

Meteor 如何接收对 MongoDB 查询结果的更新?

在 MongoDb 中查询小于 NOW 的日期时间值

如何在 MongoDB 中进行内部连接?

Mongoose 中不同集合的相同模式

MongoDB:在集合上设置 TTL 索引时出错: sessions

请按语法排序 Mongoid Scope

Mongoose 不创建新集合

判断 mongoDB 是否连接

mongo中的稀疏索引和空值