logging - Spring Boot - 设置使用 Java Util Logging (jul) 的外部 jar 的日志记录级别

标签 logging logback spring-boot java.util.logging

根据 Spring Boot 文档,可以通过使用 Spring Boot Logging Starter 并在应用程序属性中设置适当的 logging.level 来设置多个日志记录框架(jul、slf4j 等)的日志记录级别。除了我使用的库使用 jul 和日志级别 Level.FINER 进行日志记录外,一切正常。但是,Level.INFO 已正确记录。

我将 application.properties 中的级别设置为:

logging.level.=TRACE

应该根据 SLF4JBridgeHandler 记录所有内容.

我是否缺少某些东西,或者是 logback 的问题(由初学者使用)而不是我的误解?

最佳答案

SLF4JBridgeHandler 仅从 jul 记录器上的启用级别接收 LogRecord
(这个事实隐藏在 install 方法的 javadoc 中)

由于默认的 JUL 配置仅记录 INFO 或更高级别,因此网桥不会接收 FINE/FINER/FINEST 级别。

为了测试 这可以像这样强制根 jul 记录器的级别:

LogManager.getLogManager().getLogger("").setLevel(Level.FINE);

(或在 JVM 上使用 .level=FINE 显式配置自定义 logging.properties)

这个配置必须用slf4j级别的配置来完成(通过logback.xml或者application.properties中的logging.level.xxxxxx属性)

(请注意,您应该在 jul 生产配置中更具体地作为 slf4j 文档 warns 关于“启用 jul”但“禁用 slf4j”日志的性能影响)

关于logging - Spring Boot - 设置使用 Java Util Logging (jul) 的外部 jar 的日志记录级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25364913/

相关文章:

java - Logback 模式相当于 log4j %l

java - 如何使 Log4j 环境特定

java - Whitelabel错误页面部署到服务器后出现错误

java - 了解 Log4J2 中 Logger 和 LoggerConfig 之间的区别

python - Django Celery 日志记录最佳实践

spring - 为什么我的 logback Daily RollingFileAppender 没有滚动并且仍然附加到一个文件?

git - 在 IntelliJ 中重构时如何将更改日志保存在 git 文件中?

logging - Spring Boot 在测试期间使用/tmp/spring.log 文件

java - 在 Heroku 上部署 Spring Boot + React JS 应用程序时出错 - 应用程序崩溃

java - hibernate 错误: Illegal Attempt to deference collection