如何在Spring Boot中设置嵌入式tomcat的日志记录级别?
特别是我需要查看与tomcat集群相关的日志。
我在application.properties中添加了以下行,但tomcat似乎只记录INFO级别日志。
logging.level.org.apache.catalina=TRACE
有没有一种简单的方法可以实现这一目标?
最好知道Spring Boot和嵌入式tomcat特有的简单解决方案,最好只编辑application.properties。
答案 0 :(得分:3)
简而言之,使用带有Logback的Spring Boot 1.3.0版。 (我使用的是Spring Boot 1.2.4)
Spring Boot 1.3.0将LevelChangePropagator
添加到LogbackLoggingSystem.java
(see this commit),因此application.properties中设置的日志记录级别将传播到jul(java.util.logging) )tomcat使用哪个。
否则,如果级别低于默认的INFO级别,则必须在jul的logging.properties中设置记录器的日志记录级别,并且还要在application.properties中设置记录器的日志记录级别。这是为了限制jul-to-slf4j模块,因为jul在java。*包中,所以不能完全覆盖jul实现。
另请参阅以下Spring Boot问题:Optimize JUL logging #2585,Slf4JLoggingSystem should also configure JUL levels #2923。
这是相关的StackOverflow问题:Spring Boot - set logging level of external jar which is using Java Util Logging (jul)。实际上这是我面临的问题。
(如果从现在开始几天没有更好的答案,我会接受这个答案。)