如何在Spring Boot中设置嵌入式tomcat的日志级别?
特别是我需要看到与tomcat集群相关的日志 .
我将以下行添加到application.properties,但tomcat似乎只记录INFO级别日志 .
logging.level.org.apache.catalina=TRACE
有一个简单的方法来实现这一目标吗?
最好知道Spring Boot和嵌入式tomcat特有的简单解决方案,最好只编辑application.properties .
简而言之,使用带有Logback的Spring Boot 1.3.0版 . (我使用的是Spring Boot 1.2.4)
Spring Boot 1.3.0将 LevelChangePropagator 添加到 LogbackLoggingSystem.java (see this commit),因此application.properties中设置的日志记录级别将传播到tomcat使用的jul(java.util.logging) .
LevelChangePropagator
LogbackLoggingSystem.java
否则,如果级别低于默认的INFO级别,则必须在jul的logging.properties中设置 Logger 的日志记录级别,并且还要在application.properties中设置 Logger 的日志记录级别 . 这是为了限制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) . 实际上这是我面临的问题 .
(如果从现在开始几天没有更好的答案,我会接受这个答案 . )
1 回答
简而言之,使用带有Logback的Spring Boot 1.3.0版 . (我使用的是Spring Boot 1.2.4)
Spring Boot 1.3.0将
LevelChangePropagator
添加到LogbackLoggingSystem.java
(see this commit),因此application.properties中设置的日志记录级别将传播到tomcat使用的jul(java.util.logging) .否则,如果级别低于默认的INFO级别,则必须在jul的logging.properties中设置 Logger 的日志记录级别,并且还要在application.properties中设置 Logger 的日志记录级别 . 这是为了限制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) . 实际上这是我面临的问题 .
(如果从现在开始几天没有更好的答案,我会接受这个答案 . )