Filters Accept、Deny、Neutral
配置文件中有这么一段,我们来详细解读下,这个非常重要,涉及到不同级别的日志输出到对应的日志文件中:
1 <Filters> 2 <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL" /> 3 <ThresholdFilter level="INFO" onMatch="ACCEPT" /> 4 </Filters>
ThresholdFilter有三个参数:
level:将被过滤的日志级别
onMatch:默认值为NEUTRAL
onMismatch:默认是DENY
如果类中的日志是warn级别,则匹配第一个过滤器,被直接DENY(拒绝),不被记录到文件中
如果类中的日志是info级别,则不匹配第一个过滤器,由于采用的是中立的策略,会接着走到第二个过滤器,由于匹配第二个,且被accept,则该日志记录到info日志文件中。这样就实现的前面提到的不同级别日志输出到对应的日志文件中。
Filter会存在三种返回结果:Accept、Deny、Neutral。
1.Accept表示事件将直接被处理
2.Deny表示事件将被忽略,Neutral表示事件将被转发给下一个filter,如果没有后续的filter,事件将被处理。
3.Neutral表示将对这个事件转发接着往下走