是否可以在Spring Boot应用程序中记录所有MongoDB查询?我试过这个:
logging.level.org.springframework.data.document.mongodb=INFO
log4j.category.org.springframework.data.document.mongodb=INFO
但它没有用。
答案 0 :(得分:10)
此方法有点长,但它解决了更多。我们将使用名为 Spring Boot Admin Server 的工具。
首先,您需要包含一些依赖项
<!--Dependency for registering your app as a Spring Boot Admin Server-->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.3.3</version>
</dependency>
<!--Provide a nice looking ui-->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.3.3</version>
</dependency>
<!--Dependency for registering your app as a Spring Boot Admin Client-->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
使用注释@EnableAdminServer
使您的应用成为Spring Boot管理服务器。
@SpringBootApplication
@EnableAdminServer
public class Application {
public static void main(String[] args) {
// ... your code as before ...
}
}
在application.properties
添加以下内容:
将您的应用注册到仍然是您应用的Spring Boot管理服务器
spring.boot.admin.url=http://localhost:8031
指示Spring Boot Admin Server在哪里找到客户端
spring.boot.admin.client.service-url=http://localhost:8031
spring.boot.admin.client.management-url=http://localhost:8031
spring.boot.admin.client.health-url=http://localhost:8031/health
在logback.xml
中添加以下行<jmxConfigurator/>
。这允许通过JMX配置logback。更多信息here
... 瞧瞧你已经完成了。现在,您可以在运行时更改任何记录器的调试级别。
我。只需访问Spring Boot Admin Server的URL(在本例中为http:/localhost:8031
)。
II。注册的应用程序(客户端)列表将显示在主页上。
III。针对已注册的客户端点击Details
,这将转到另一个页面。
IV。单击Logging
选项卡,其中将列出应用程序中注册的所有记录器。
诉您可以更改日志级别,它将在运行时更改您的日志记录级别。以下是您期望的片段
要回答您的问题,如果您想查看MongoDB查询,只需查看MongoTemplate
并将日志记录级别更改为DEBUG
。
对于Spring Boot Admin的 2。*。* 版本,请使用以下配置:
spring.boot.admin.client.url=http://localhost:8031
答案 1 :(得分:8)
试试这个:
只需将此行添加到您的application.propertiese文件中,并在运行任何MongoRepository
查询后检查控制台输出。
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG
日志将是:
2018-11-26 19:23:16.574 DEBUG 15668 --- [nio-8081-exec-2]
o.s.data.mongodb.core.MongoTemplate:使用查询查找:{ “status”:“ACTIVE”,“item._id”:{“$ oid”: “5bfbcde45ac3366ad70cdb9f”}}字段:文档{{}}
答案 2 :(得分:5)
如果使用spring boot reactive mongodb,请设置client.on('connect',function(){})