Filters
Filters决定日志事件能否被输出。过滤条件有三个值:ACCEPT(接受),DENY(拒绝),NEUTRAL(中立)。
log4j2中的过滤器ACCEPT和DENY之后,后续的过滤器就不会执行了,只有在NEUTRAL的时候才会执行后续的过滤器。
常用的Filter实现类有:
- LevelRangeFilter
- TimeFilter
- ThresholdFilter
ThresholdFilter
一. 属性详解
onMatch="ACCEPT"匹配该级别及以上级别;
onMatch="DENY"不匹配该级别及以上级别;
onMismatch="ACCEPT" 表示匹配该级别以下的级别;
onMismatch="DENY" 表示不匹配该级别以下的级别;
二. 单一应用
- 匹配INFO级别以及以上级别,不匹配INFO级别以下级别,即: 匹配 >= INFO的级别
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
- 不匹配WARN级别以及以上级别,匹配WARN级别以下级别,即: 匹配 < WARN的级别
<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="ACCEPT"/>
三. 组合应用
<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>