2

当 logback 读取其配置时,它会为每个日志级别设置输出消息:

11:36:36,467 INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.zookeeper.ClientCnxn] to ERROR
11:36:36,467 INFO in ch.qos.logback.classic.jul.LevelChangePropagator@2f465398 - Propagating ERROR level on Logger[org.apache.zookeeper.ClientCnxn] onto the JUL framework
11:36:36,467 INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.redacted.config] to WARN
11:36:36,467 INFO in ch.qos.logback.classic.jul.LevelChangePropagator@2f465398 - Propagating WARN level on Logger[com.redacted.config] onto the JUL framework

不幸的是,我们的(有些粗略的)警报系统发现了这些错误和警告。(我们不能安全地加强这一点,因为我们可能会错过配置错误日志模式的进程的问题)

有没有办法抑制这些级别更改消息?
将 ch.qos.logback.classic.joran.action.LoggerAction 和 ch.qos.logback.classic.jul.LevelChangePropagator 的日志级别设置为 OFF 或 ERROR 似乎没有效果。

我们将 logback-classic 与 jul-to-slf4j、log4j-over-slf4j 和 jcl-over-slf4j 一起使用,并且使 SLF4JBridgeHandler 能够从我们使用的各种不同的 3rd 方库中获取日志记录。

4

2 回答 2

0

也许您在 logback.xml 文件 ( <configuration debug=“true”&gt;…&lt;/configuration>) 中启用了调试?或者,更有可能的是,类路径上有多个配置。进一步查看您的控制台输出,您会看到如下内容:

资源 […] 在类路径上多次出现

如果是这样,那么删除“额外的”logback.xml、logback-test.xml 文件将导致 logback不会发出那些不需要的日志事件。

FWIW,将日志级别设置为ch.qos.logback.classic.joran.action.LoggerAction and ch.qos.logback.classic.jul.LevelChangePropagatorOFF 或 ERROR 将无效,因为这些日志事件来自 logback 的内部日志记录,不受您的 logback 配置控制。

于 2017-07-18T08:42:58.080 回答
0

就我而言,pod 中有一个设置覆盖了 yaml 文件中的配置。其他人正在打包应用程序,所以我没有意识到他们已经添加了该设置。

也许有人设置了您不知道的环境变量?

于 2021-05-31T21:01:18.773 回答