我在Tomcat上运行时没有访问我的Spring启动应用程序中托管线程的调试日志,我很长时间都遇到了这个问题。在Eclipse / STS上运行时会显示所有日志。
在Tomcat日志中,我只能看到主要的Tread Logs。
我通过JDBC连接到数据库,这发生在一个单独的线程中。我试图遵循日志配置文档,但它们都没有帮助获取这些线程的调试日志。所以我实际上并没有看到导致连接失败的确切问题。
这是我到目前为止所尝试的内容:
我尝试使用以下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>
如果没有解决问题,我删除了此文件并查看默认情况下是否记录所有踏板。但事实并非如此。
因此,我将以下配置添加到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
尝试过,但没有用。
我也添加了我的命名空间,并尝试如下,
debug=true
logging.level.com.mydomain:DEBUG
logging.level.org.springframework.web:DEBUG
logging.level.org.hibernate:DEBUG
这也不起作用,我现在很困惑我应该如何处理相对于日志记录的配置,以便为执行步骤显示日志。
无论踏板如何,由于属性spring.jpa.show-sql=true
,它会记录所做的查询。
答案 0 :(得分:0)
这根本不是线程的问题。该应用程序在开发环境中正常工作。问题出在部署环境中。
结果是与jar文件和JVM版本的Java版本错过匹配。这些jar是使用Java 8构建的,它运行在Java 7 JVM上。
当JMV更改为Java-8时。它工作正常。所以下次我会更加小心版本不匹配。