繁体   English   中英

如何使用 mongo java 驱动程序将实际查询记录到 MongoDB

[英]How can I log actual queries to MongoDB with mongo java driver

我想看看 mongo java 驱动程序产生什么查询,但我做不到。

使用官方文档中的信息,我只能在更新操作执行的日志中看到,但我没有看到此操作的查询。

您可以将org.mongodb的记录器级别设置为DEBUG ,您的 Java 驱动程序将发出如下详细的日志记录:

2018-01-18 16:51:07|[main]|[NA]|INFO |org.mongodb.driver.connection|Opened connection [connectionId{localValue:2, serverValue:39}] to localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.insert|Inserting 1 documents into namespace stackoverflow.sample on connection [connectionId{localValue:2, serverValue:39}] to server localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.insert|Insert completed  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Sending command {find : BsonString{value='sample'}} to database stackoverflow on connection [connectionId{localValue:2, serverValue:39}] to server localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Command execution completed  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Sending command {findandmodify : BsonString{value='sample'}} to database stackoverflow on connection [connectionId{localValue:2, serverValue:39}] to server localhost:27017  
2018-01-18 16:51:07|[main]|[NA]|DEBUG|org.mongodb.driver.protocol.command|Command execution completed  

在上面的日志输出中,您可以看到客户端提交的查询的详细信息:

org.mongodb.driver.protocol.command|Sending command {find : BsonString{value='sample'}}

或者,您可以在服务器端启用分析...

db.setProfilingLevel(2)

... 导致 MongoDB 分析器收集针对该数据库的所有操作的数据。

探查器输出(包括客户端提交的查询)将写入system.profile集合中的任何启用了数据库探查的集合。

文档中有更多详细信息,但简短摘要是:

// turn up the logging
db.setProfilingLevel(2)

// ... run some commands

// find all profiler documents, most recent first
db.system.profile.find().sort( { ts : -1 } )

// turn down the logging
db.setProfilingLevel(0)

如果您使用的是 Spring Boot 1.5.x(我使用的是 1.5.19),您需要将org.mongodb:mongodb-driver的版本覆盖到至少 3.7.0 版本以获取日志中的附加信息.

有关更多详细信息,请参阅此票证: https : //jira.mongodb.org/browse/JAVA-2698

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM