当我们需要对log4输出的内容进行过滤时就需要使用到StringMatchFilter过滤器
它有两种工作模式:
1、字符串查找模式:只要消息内容包含指定字符串则符合过滤器规则。
2、正则表达式模式:只要消息内容满足(Success)正则表达式模式则符合过滤器规则。
在XML配置文件中通过对配置文件的配置来选则模式。
设置属性 RegexToMatch 则表示启用正则表达式模式,该级别优先级最高。
设置属性 StringToMatch 则表示启用字符串查找模式,如设置了 RegexToMatch 则忽略本属性。
另外通过设置属性 AcceptOnMatch 为 true 或 false 来指定当不符合过滤器规则时默认是否办输出日志。
示例:当内容满足表达式时输出内容,不满足正则表达式则不输出内容。
<filter type="log4net.Filter.StringMatchFilter">
<param name="RegexToMatch" value="^(?!Quartz).*" />
<param name="AcceptOnMatch" value="false" />
</filter>
关于正则表达式如何编写请参考:正则表达式30分钟入门教程
正则表达式测试工具我推荐使用:Match Tracer