【问题标题】:Log4j2 configuration - What happens if AppenderRef not set for logger?Log4j2 配置 - 如果没有为记录器设置 AppenderRef 会发生什么?
【发布时间】:2016-10-31 09:57:18
【问题描述】:

如果我没有为 log4j2.xml 中的记录器配置显式设置 AppenderRef 会发生什么?它会默认使用所有的附加程序吗?

。 .

<Logger name="com.package1" level="error"/>

<Root level="error">
  <AppenderRef ref="LOGFILE"/>
  <AppenderRef ref="CONSOLE"/>
</Root>

. .

【问题讨论】:

    标签: java logging configuration log4j2


    【解决方案1】:

    一个记录器调用它有一个 AppenderRef 的所有附加器,然后它委托给它的父级(在你的例子中是根记录器)。

    您可以通过配置additivity="false" 来阻止它调用其父级。在这种情况下,记录器上配置的级别可能会阻止记录事件。这通常用于从某些包中过滤掉非常冗长的日志记录。

    【讨论】:

    • 谢谢。这很有帮助。
    【解决方案2】:

    除了 Remko 的回答之外,如果加性设置为 false 的 Logger 或根 Looger 没有 appender 引用,则该事件将被忽略。

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 2017-04-16
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2015-06-07
      相关资源
      最近更新 更多