在logback

时间:2017-07-04 10:57:10

标签: logging logback logback-classic

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

2 个答案:

答案 0 :(得分:0)

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

  

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

如果是这样,那么删除'extra'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配置控制。

答案 1 :(得分:0)

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

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