2016-08-30 60 views
4

是否可以在我的Spring Boot应用程序中记录所有MongoDB查询?我试过这个:使用Spring Boot登录MongoDB查询

logging.level.org.springframework.data.document.mongodb=INFO 
log4j.category.org.springframework.data.document.mongodb=INFO 

但它没有奏效。

+1

请将日志级别更改为DEBUG并尝试。另外,请提供您专门查看哪些课程? – notionquest

回答

5

此方法稍长一点,但它更多地解决了。我们将使用名为Spring Boot Admin Server的工具。

  1. 首先,你需要包括一些依赖

    <!--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> 
    
  2. 使您的应用程序是使用注释@EnableAdminServer一个春天启动管理服务器。

    @SpringBootApplication 
    @EnableAdminServer 
    public class Application { 
        public static void main(String[] args) { 
         // ... your code as before ... 
        } 
    } 
    
  3. 在你application.properties添加以下内容:

    注册应用到春节引导管理服务器这仍然是你的应用程序

    spring.boot.admin.url=http://localhost:8031 
    

    指示春季启动管理服务器在哪里找到客户

    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 
    
  4. 在您的logback.xml只需添加以下行<jmxConfigurator/>。这允许通过JMX配置logback。更多信息here

...和你做。现在,您可以在运行时更改任何记录器的调试级别。

i。只需访问您的Spring Boot Admin Server的URL即可(在我们的例子中为http:/localhost:8031)。

ii。主页上将显示注册的应用程序(客户端)列表。

iii。针对注册客户点击Details,这会将您带到另一个页面。

iv。点击Logging选项卡,该选项卡将列出您的应用程序中注册的所有记录器。

v。您可以更改日志级别,它将在运行时改变您的日志记录级别。这里是你期待

Change logging levels at runtime

要回答你的问题,如果你想看到MongoDB的查询,只是看MongoTemplate和更改日志记录级别DEBUG什么的一个片段。

+3

嗨,downvoter,请与你的朋友分享你的投票。它可以帮助改进答案。 – Kihats

1

试试这个:

只需添加这行到你的应用程序。propertiese文件并在运行任何MongoRepository查询后检查控制台输出。

logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG 
+0

尽管这可能会提供问题的答案,但需要进行一些解释。请更新这个问题,并解释一下这个解决方案的工作方式和原因。 –

+0

虽然这段代码可以解决问题,但[包括解释](http://meta.stackexchange.com/questions/114762/explaining-entirely-code- based-answers)确实有助于提高您的质量帖子。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 –

相关问题