如果我没有在log4j2.xml中为记录器配置显式设置AppenderRef,会发生什么?它会默认使用所有的appender吗?
。 。
<Logger name="com.package1" level="error"/>
<Root level="error">
<AppenderRef ref="LOGFILE"/>
<AppenderRef ref="CONSOLE"/>
</Root>
。
答案 0 :(得分:4)
记录器调用其具有AppenderRef的所有appender,然后将其委托给其父级(示例中的根记录器)。
您可以通过配置additivity="false"
来阻止它调用其父级。在这种情况下,记录器上配置的级别可能会阻止记录事件。这通常用于从某些包中过滤掉非常详细的日志记录。
答案 1 :(得分:2)
除了Remko的回答,如果记录器的可加性设置为false或根Looger没有appender引用,那么该事件将被忽略。