根据Spring Boot文档,只需使用Spring Boot Logging Starter并在应用程序属性中设置适当的logging.level,就可以设置多个日志记录框架(jul,slf4j等)的日志记录级别。一切正常,除了我使用的库是jul和日志级别Level.FINER。但是,Level.INFO已正确记录。
我将application.properties中的level设置为:
logging.level.=TRACE
应根据SLF4JBridgeHandler记录所有内容。
我是否缺少某些东西或是否是回归问题(由初学者使用)而不是我的误解?
答案 0 :(得分:1)
SLF4JBridgeHandler仅在jul Loggers上从启用的级别接收LogRecord (这个事实隐藏在install方法的javadoc中)
由于默认JUL配置仅记录INFO或更高级别,因此桥接器不会收到FINE / FINER / FINEST级别。
为了测试,您可以强制执行root jul记录器的级别:
LogManager.getLogManager().getLogger("").setLevel(Level.FINE);
(或在JVM上显式配置自定义logging.properties和.level = FINE)
必须使用slf4j级别配置(通过application.properties中的logback.xml或logging.level.xxxxxx属性)完成此配置。
(请注意,您应该在jul生产配置中更具体地说明slf4j文档warns关于" jul启用的性能影响"但是" slf4j已禁用"日志)
答案 1 :(得分:1)
请参阅我的相关回答:https://stackoverflow.com/a/33770877/3004042
简而言之,使用带有Logback的Spring Boot 1.3.0版。