EvaluatorFilter简介说明

转自:

EvaluatorFilter简介说明

下文讲述EvaluatorFilter的简介说明,如下所示:

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> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
logback的EvaluatorFilter是一个非常有用的过滤器,它允许您根据特定的条件来过滤日志事件。EvaluatorFilter使用一种简单的表达式语言,可以根据事件的属性值来评估条件。 EvaluatorFilter的配置通常在logback的配置文件中进行。下面是一个简单的配置示例: ```xml <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> <evaluator> <expression>level >= INFO</expression> </evaluator> <OnMismatch>DENY</OnMismatch> <OnMatch>NEUTRAL</OnMatch> </filter> </appender> ``` 在上面的示例中,我们创建了一个ConsoleAppender,并添加了EvaluatorFilter作为过滤器。EvaluatorFilter使用<expression>元素指定了一个条件表达式,该表达式评估事件的日志级别是否大于等于INFO。如果评估结果为true(即日志级别大于等于INFO),则执行<OnMatch>元素指定的操作,这里是NEUTRAL。如果评估结果为false(即日志级别小于INFO),则执行<OnMismatch>元素指定的操作,这里是DENY。 EvaluatorFilter支持一些预定义的变量和操作符,可以在表达式中使用。例如,您可以使用"level"变量表示日志事件的日志级别,还可以使用"marker"变量表示事件的标记。您还可以使用比较运算符(如">"、"<"、">="、"<=")来比较属性的值。 除了简单的条件表达式外,EvaluatorFilter还支持复杂的表达式,例如使用逻辑运算符(如"&&"、"||")来组合多个条件。您可以根据自己的需求编写更复杂的表达式。 总之,EvaluatorFilter是logback中一个功能强大的过滤器,可以根据条件来过滤日志事件。通过合理配置EvaluatorFilter,您可以根据需要精确地控制日志的输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值