kuc*_*ram 5 logging logback java.util.logging spring-boot
根据 Spring Boot 文档,可以通过使用 Spring Boot Logging Starter 并在应用程序属性中设置适当的 logging.level 来设置多个日志记录框架(jul、slf4j 等)的日志记录级别。除了我使用的库使用 jul 和日志级别 Level.FINER 进行日志记录外,一切正常。但是,Level.INFO 已正确记录。
我将 application.properties 中的级别设置为:
logging.level.=TRACE
Run Code Online (Sandbox Code Playgroud)
它应该根据SLF4JBridgeHandler记录所有内容。
我是否缺少某些东西,或者是 logback 的问题(由初学者使用)而不是我的误解?
小智 1
SLF4JBridgeHandler 仅从 jul Loggers 上启用的级别接收 LogRecord(此事实隐藏在安装方法的 javadoc 中)
由于默认的 JUL 配置仅记录 INFO 或更高级别,因此网桥不会接收 FINE/FINER/FINEST 级别。
为了测试这一点,您可以像这样强制 root jul 记录器的级别:
LogManager.getLogManager().getLogger("").setLevel(Level.FINE);
Run Code Online (Sandbox Code Playgroud)
(或者在 JVM 上使用 .level=FINE 显式配置自定义logging.properties)
此配置必须通过slf4j级别配置完成(通过application.properties中的logback.xml或logging.level.xxxxxx属性)
(请注意,您应该在 jul 生产配置中更加具体,因为 slf4j 文档警告“jul启用”但“slf4j禁用”日志对性能的影响)
| 归档时间: |
|
| 查看次数: |
3480 次 |
| 最近记录: |