连接到托管线程中的数据库,调试值不会出现在Tomcat控制台或日志中

时间:2015-06-26 20:56:45

标签: java logging spring-boot

我在Tomcat上运行时没有访问我的Spring启动应用程序中托管线程的调试日志,我很长时间都遇到了这个问题。在Eclipse / STS上运行时会显示所有日志。

在Tomcat日志中,我只能看到主要的Tread Logs。

我通过JDBC连接到数据库,这发生在一个单独的线程中。我试图遵循日志配置文档,但它们都没有帮助获取这些线程的调试日志。所以我实际上并没有看到导致连接失败的确切问题。

这是我到目前为止所尝试的内容:

  1. 我尝试使用以下logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <!-- <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> 
            <Target>System.out</Target> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p 
            %c{1}:%L - %m%n</pattern> </encoder> </appender> <logger name="com.biscoind" 
            additivity="false" level="TRACE"> <appender-ref ref="stdout" /> </logger> 
            <root level="debug"> <appender-ref ref="stdout" /> </root> -->
        <include resource="org/springframework/boot/logging/logback/base.xml" />
        <logger name="org.springframework.web" level="DEBUG" />
    </configuration>
    
  2. 如果没有解决问题,我删除了此文件并查看默认情况下是否记录所有踏板。但事实并非如此。

  3. 因此,我将以下配置添加到application.properties

    logging.level.org.springframework.web:TRACE
    logging.level.org.hibernate:ERROR
    

    然后在我看来,这只是注销了上面的命名空间,我再次添加了

    debug=true
    logging.level.org.springframework.web:DEBUG
    logging.level.org.hibernate:DEBUG
    

    尝试过,但没有用。

  4. 我也添加了我的命名空间,并尝试如下,

    debug=true
    logging.level.com.mydomain:DEBUG
    logging.level.org.springframework.web:DEBUG
    logging.level.org.hibernate:DEBUG
    
  5. 这也不起作用,我现在很困惑我应该如何处理相对于日志记录的配置,以便为执行步骤显示日志。

    无论踏板如何,由于属性spring.jpa.show-sql=true,它会记录所做的查询。

1 个答案:

答案 0 :(得分:0)

这根本不是线程的问题。该应用程序在开发环境中正常工作。问题出在部署环境中。

结果是与jar文件和JVM版本的Java版本错过匹配。这些jar是使用Java 8构建的,它运行在Java 7 JVM上。

当JMV更改为Java-8时。它工作正常。所以下次我会更加小心版本不匹配。