zoukankan      html  css  js  c++  java
  • log4j2 Filter用法详解

    主要说下组合过滤器 CompositeFilter ,比较常用
    <Filters> 是组合过滤器额标签,它包含的子标签是具体的过滤器,这三个具体过滤器分别是日志等级过滤器正则表达式过滤器时间过滤器
    需要说明的是onMatch和onMismatch可以选择的值及其含义。可选的值分别是,ACCEPT, DENY, NEUTRAL,ACCEP和DENY比较好理解就是接受和拒绝的意思,在使用单个过滤器的时候,一般就是使用这两个值。
    但是在组合过滤器中,如果用接受ACCEPT的话,日志信息就会直接写入日志文件,后续的过滤器不再进行过滤。--- 有点像switch case break; 直接截断了 不会往下判断了。
    在组合过滤器中,接受使用NEUTRAL(中立),被第一个过滤器接受的日志信息,会继续用后面的过滤器进行过滤,只有符合所有过滤器条件的日志信息,才会被最终写入日志文件。 --- 也就是层层过滤的意思,要都满足条件才能写入日志

    例子1
    <!-- 所要过滤的内容必须是日志内容详情,前面的包名不算  -->
    <Filters>
    	        <ThresholdFilter level="TRACE" onMatch="NEUTRAL" onMismatch="DENY"/>
    	        <RegexFilter regex=".* test .*" onMatch="NEUTRAL" onMismatch="DENY"/>
                    <TimeFilter start="05:00:00" end="05:30:00" onMatch=" NEUTRAL " onMismatch="DENY"/>	    
    </Filters>    
    
    例子2 意思是日志内存包含 HiveSql 或 hive lines 或 sql_type 或  => 的INFO及其INFO以下级别的日志
      <Filters>
                    
                    <ThresholdFilter level="INFO" onMatch="NEUTRAL" onMismatch="DENY"/>
                    <RegexFilter regex=".*(HiveSql|hive lines|sql_type).*" onMatch="NEUTRAL" onMismatch="DENY"/>
                    <RegexFilter regex=".*=>.*" onMatch="NEUTRAL" onMismatch="DENY"/>
    </Filters>
    
  • 相关阅读:
    #import &lt;/usr/include/objc/objc-class.h&gt; not such file or directory问题的解决方法
    关于二进制补码
    DirectSound的应用
    Qt on Android: http下载与Json解析
    双绞线的制作,T568A线序,T568B线序
    Java设计模式之从[暗黑破坏神存档点]分析备忘录(Memento)模式
    linux 系统升级中的一些配置
    malloc函数具体解释
    老鸟的Python新手教程
    ubuntu12.04 安装配置jdk1.7
  • 原文地址:https://www.cnblogs.com/jiangxiaoxian/p/10582269.html
Copyright © 2011-2022 走看看