EvaluatorFilter详解

EvaluatorFilter是求值过滤器,评估、鉴别日志是否符合指定条件。

属性

<evaluator>: 鉴别器,常用的鉴别器是JaninoEventEvaluato,也是默认的鉴别器,它以任意的java布尔值表达式作为求值条件,求值条件在配置文件解释过成功被动态编译,布尔值表达式返回true就表示符合过滤条件。evaluator有个子标签<expression>,用于配置求值条件。

<onMatch>:用于配置符合过滤条件的操作

<onMismatch>:用于配置不符合过滤条件的操作

例子

//过滤掉所有日志消息中不包含“billing”字符串的日志
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">   
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">         
  <evaluator> <!-- 默认为 ch.qos.logback.classic.boolex.JaninoEventEvaluator -->   
	<expression>return message.contains("billing");</expression>   
  </evaluator>   
  <OnMatch>ACCEPT </OnMatch>  
  <OnMismatch>DENY</OnMismatch>  
</filter>   
<encoder>   
  <pattern>   
	%-4relative [%thread] %-5level %logger - %msg%n   
  </pattern>   
</encoder>   
</appender> 

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。