【发布时间】:2020-12-28 22:14:44
【问题描述】:
我有一个 Spring Boot Web 应用程序,它需要在 SLF4J 后面使用 Java Util Logging。当我不创建 logging.properties 文件时,控制台记录器工作正常,并且所有 INFO 消息及以上都被记录。当我创建logging.properties 文件时,只会记录致命错误。 logging.properties 文件包含什么并不重要——我尝试了很多不同的配置——它只会在该文件存在时记录致命错误。
这是我导入的罐子(使用 Gradle)
implementation("org.slf4j:slf4j-api")
implementation("org.slf4j:slf4j-jdk14")
我还必须确保未导入 logback-classic,因为我的一个依赖项试图将其拉入。
configurations.all {
exclude(group = "ch.qos.logback", module = "logback-classic")
}
然后,这是我的logging.properties 文件。它位于src/main/resources/logging.properties。
handlers = java.util.logging.ConsoleHandler
.level= ALL
java.util.logging.ConsoleHandler.level = FINEST
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
这不是我尝试使用的唯一配置。
谁能发现我做错了什么?为什么它只记录 FATAL 错误?
【问题讨论】:
-
请不要无端重复题名中的标签,没有必要。
-
我很欣赏批评,但我仍然觉得你重写我的标题的方式让标题更难理解。我的问题是关于 Java Util Logging。如果我不允许在标题中说“Java Util Logging”,那么标题就不再与我的帖子相关。
-
问题是关于 Java Util Logging 的信息由 标签提供。这就是他们的目的。好的标题是简洁的,你的问题的标题——结合标签——很容易理解
-
你没有错,但这并不是大多数 SO 用户写问题的方式。如果您只查看热门问题页面,大多数用户都会在标题中包含相关技术。我怀疑大多数用户期望他们的标题中出现了相关技术。我只是想写一个其他人容易解析的标题。
-
在浏览了 Logger.java 的内部之后,我了解到 JUL 已经为自己配置了零个处理程序。我不知道为什么它的处理程序为零。
标签: java logging slf4j java.util.logging