当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现。在Logback中自带了两个过滤器实现: ch.qos.logback.classic.filter.LevelFilter
和 ch.qos.logback.classic.filter.ThresholdFilter
,用户可以根据需要来配置一些简单的过滤规则,下面先简单介绍一下这两个原生的基础过滤器。
1、ch.qos.logback.classic.filter.LevelFilter
过滤器的作用是通过比较日志级别来控制日志输出
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
以上只是输出ERROR级别的日志
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
以上只是输出DEBUG以外级别的日志
2、ch.qos.logback.classic.filter.ThresholdFilter
过滤器来控制了。比如下面的配置,实现了只记录INFO及以上级别的控制,比INFO级别低(如:DEBUG、TRACE)都不会记录。
java
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
更多关于Logback过滤器的内容可参考官方文档:https://logback.qos.ch/manual/filters.html