Log4j2配置 - 如果没有为记录器设置AppenderRef会发生什么?

时间:2016-06-28 21:55:08

标签: java logging configuration log4j2

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

。 。

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

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

2 个答案:

答案 0 :(得分:4)

记录器调用其具有AppenderRef的所有appender,然后将其委托给其父级(示例中的根记录器)。

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

答案 1 :(得分:2)

除了Remko的回答,如果记录器的可加性设置为false或根Looger没有appender引用,那么该事件将被忽略。