一尘不染

Spring Boot嵌入式Tomcat日志

spring-boot

我正在使用带有Spring Boot 1.5.9的spring boot嵌入式tomcat,即时消息也使用Log4j2。

最近,我在加载过程中遇到问题,因此我想更好地了解tomcat日志[不是访问日志],我尝试过(在application.properties中):

logging.level.org.apache.tomcat: INFO
logging.level.org.apache.catalina: INFO

但以上方法均无效。还有其他方法可以实现吗?


阅读 285

收藏
2020-05-30

共1个答案

一尘不染

找到了 !!现在,您可以通过3个简单的步骤在应用程序的Log4j日志文件中查看Embedded Tomcat的内部日志:

1]添加到您的pom:

 <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-jul</artifactId>
     </dependency>

2]在运行的arg中添加一个新的JVM参数,例如:

java -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -jar target/demo-0.0.1-SNAPSHOT.jar

3]添加到您的application.properties:

logging.level.org.apache=DEBUG

享受生活!:)

说明:
问题是因为Log4j日志级别没有传播到JUL中(这是嵌入式tomcat实际使用的日志记录方式),因此以上内容实现了与JUL和Log4j日志级别的连接。

参考: 阅读Spring boot 1.5.10发行说明(解决方案不是必需的)之后,我看到了新的文档,阐明了如何实现它并对其进行解释:

https://github.com/spring-projects/spring-
boot/issues/2923#issuecomment-358451260

2020-05-30