禁止在日志中显示日志级别配置更改消息



当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能够从我们使用的各种不同的第三方库中获取日志记录。

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

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新