转自:
http://www.java265.com/JavaCourse/202201/2150.html
下文笔者讲述logback中filter过滤器的简介说明,如下所示:
Logback提供两类Filter Regular Filter; Turbo Filter
Regular Filter用于appeder上
Appender实例上可以绑定一个Regular Filter实例链
Regular Filter继承实现”ch.qos.logback.core.filter.Filter”类
自定义自己的regular filter需要继承ch.qos.logback.core.filter.Filter类,并实现decide()方法
TurboFilter对象绑定到日志记录上下文
可用于给定的appender时调用它们
每次都发出日志记录请求
它可在LoggingEvent对象创建之前被调用
TurboFilter对象不需要实例化日志记录事件来过滤日志记录请求
turbo过滤器旨在用于记录事件的高性能过滤,甚至在创建事件之前
要实现该类型的filter需要继承ch.qos.logback.classic.turbo.TurboFilter
logback中有3种常见的过滤器
LevelFilter 级别过滤器,根据日志级别进行过滤 当日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志 LevelFilter根据精确的级别匹配过滤事件 当事件的级别等于配置的级别,则筛选器接受或拒绝该事件,具体取决于onMatch和onMismatch属性的配置 EvaluatorFilter 求值过滤器,评估、鉴别日志是否符合指定条件 EventEvaluator会评估给定事件是否满足给定条件 在匹配和不匹配时,托管EvaluatorFilter将分别返回onMatch或onMismatch属性指定的值 请注意,EventEvaluator是一个抽象类。您可以通过对EventEvaluator进行子类化来实现自己的事件评估逻辑 ThresholdFilter 临界值过滤器,过滤掉低于指定临界值的日志。当日志级别等于或高于临界值时,过滤器返回NEUTRAL;当日志级别低于临界值时,日志会被拒绝 ThresholdFilter过滤低于指定阈值的事件。对于等于或高于阈值的事件,ThresholdFilter将在调用其decision()方法时响应NEUTRAL 但是将拒绝级别低于阈值的事件
来源:https://www.cnblogs.com/java265/p/16530931.html
本站部分图文来源于网络,如有侵权请联系删除。