在发布此问题之前,我已经进行了研究,我的问题与我未正确使用additivity属性有关,以下是我的log4j2.xml的摘录,而我想要实现的目标是定义每个appender ref在记录器中,仅应附加其定义级别的日志,但是所有附加器都将附加所有日志消息,而与日志级别无关,例如,调试记录器仍在获取我不想要的错误消息。任何投入将不胜感激。
<Logger name="com.mycompnay" level="INFO" additivity="false">
<AppenderRef ref="CoreInfo" level="INFO"/>
<AppenderRef ref="CoreDebug" level="DEBUG"/>
<AppenderRef ref="CoreWarning" level="WARNING"/>
<AppenderRef ref="CoreError" level="ERROR"/>
</Logger>
答案 0 :(得分:1)
我找到了解决方案,而不是在appender声明上设置日志级别,而是在appender声明中可以执行以下操作以确保它仅记录调试消息,您可以将调试消息更改为所需的任何日志级别。花了一段时间找到这个!
<LevelRangeFilter minLevel="DEBUG" maxLevel="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>