如何在logback.xml中过滤特定的类记录器? [英] how to filter specific class logger in logback.xml?

查看:13
本文介绍了如何在logback.xml中过滤特定的类记录器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们尝试筛选从一个类生成的日志:

com.websudos.phantom

两个目标:

  1. 除本类日志外,APP中的所有日志都保存在文件中

  2. 此文件中的所有日志都已传输到灰色日志。

我们使用此筛选器按正则表达式筛选这些日志:

<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
    <evaluator>
        <matcher>
        <Name>parameter</Name>
        <regex>Executing query</regex>
    </matcher>
    <expression>parameter.matches(formattedMessage)</expression>
    </evaluator>
    <OnMismatch>DENY</OnMismatch>
    <OnMatch>ACCEPT</OnMatch>
</filter>

此类的Executing query正则表达式:com.websudos.phantom

我们不接受将此类的级别设置为OFF,因为我们需要将此日志转换为灰色日志,而不是保存在文件中!

什么是解决方案?

推荐答案

这是一个解决方案:

<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
  <evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
    <expression>logger.equals("com.websudos.phantom")</expression>
  </evaluator>
  <OnMismatch>NEUTRAL</OnMismatch>
  <OnMatch>DENY</OnMatch>
</filter>

通过将此筛选器添加到任何赋值器,将忽略类com.websudos.phantom中的日志

这篇关于如何在logback.xml中过滤特定的类记录器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆