我正在使用带有Spring Boot 1.5.9的spring boot嵌入式tomcat,即时消息也使用Log4j2。
最近,我在加载过程中遇到问题,因此我想更好地了解tomcat日志[不是访问日志],我尝试过(在application.properties中):
logging.level.org.apache.tomcat: INFO logging.level.org.apache.catalina: INFO
但以上方法均无效。还有其他方法可以实现吗?
找到了 !!现在,您可以通过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