log4net各种Filter使用【转】

摘要:
此类的另一个重要属性是AcceptOnMatch。此属性用于设置在条件匹配时是否接受输出打印,例如:如果日志级别为DEBVG,即,如果满足第一个筛选器的条件,将输出日志,并且不会执行StringMatchFilter。

log4net各种Filter使用【转】

log4net里面的filter类常用的为: 
    1、DenyAllFilter 
       拒绝所用的日志输出 
       <filter type="log4net.Filter.LevelMatchFilter"> 
           <param name="LevelToMatch" value="DEBUG" />       
       </filter> 
       <filter type="log4net.Filter.DenyAllFilter" /> 
       上面的配置是如果日志的输出级别不符合DEBUG要求的话,则不输出任何日志。 
    2、LevelMatchFilter 
       这个类里面有两个属性,一个是LevelToMatch这个属性是你要匹配输出日志的级别,比如: 
        <filter type="log4net.Filter.LevelMatchFilter"> 
           <param name="LevelToMatch" value="DEBUG" />       
        </filter> 
       这样的话,只有级别是DEBUG的日志才能输出。 
       另外这个类还有一个重要的属性就是AcceptOnMatch这个属性是设置如果这个条件匹配的话,是否接受输出打印,比如说: 
        <filter type="log4net.Filter.LevelMatchFilter"> 
           <param name="LevelToMatch" value="DEBUG" />       
        </filter> 
        <filter type="log4net.Filter.StringMatchFilter"> 
           <param name="StringToMatch" value="debug" />       
        </filter> 
       如果日志的级别为DEBVG的话,也就是说符合了第一个Filter的条件,日志就输出,则StringMatchFilter就不执行了。如果这样写的话,就会继续向下执行过滤: 
        <filter type="log4net.Filter.LevelMatchFilter"> 
           <param name="LevelToMatch" value="DEBUG" />   
           <AcceptOnMatch value="false"></AcceptOnMatch>    
        </filter> 
        <filter type="log4net.Filter.StringMatchFilter"> 
           <param name="StringToMatch" value="debug" />       
        </filter> 
       如果这样写的话,即使第一个Filter符合了条件则第二个Filter也会继续执行。 
    3、LevelRangeFilter 
       配置文件是这样的: 
        <filter type="log4net.Filter.LevelRangeFilter"> 
            <param name="LevelMin" value="DEBUG" /> 
            <param name="LevelMax" value="ERROR" /> 
        </filter> 
    4、LoggerMatchFilter 
       配置文件是这样的: 
        <filter type="log4net.Filter.LoggerMatchFilter"> 
            <param name="LoggerToMatch" value="Client" /> 
        </filter> 
    5、StringMatchFilter 
       配置文件是这样的: 
        <filter type="log4net.Filter.StringMatchFilter"> 
            <param name="StringToMatch" value="/blog/Client.Program" /> 
        </filter> 

 

level定义记录的日志级别,就是说,你要记录哪个级别以上的日志,级别由低往高依次是:
ALL
DEBUG
INFO
WARN
ERROR
FATAL
None
说明:有的博客中写的是INFO的比DEBUG的低,可是进过我的亲自测验,还是INFO的比DEBUG的要高

免责声明:文章转载自《log4net各种Filter使用【转】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Frida Hook 环境配置(一)何时使用 Em 与 Rem下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#log4net配置

项目使用log4net,配置过程比较简单,想要实现各种需求,可以深入研究一下配置文件。 1、引用log4net.dll 2、使用命名空间 using log4net; 3、定义logger public static log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.M...

【C#写日志两个简单方法】

方法一:以日期为日志文件名. public void WriteLog(stringmsg) { string filePath = AppDomain.CurrentDomain.BaseDirectory + "Log"; if (!Directory.Exists(filePath)) {...

Log4net使用总结,防止自定义的logger和root重复写入日志

一、在asp.net中使用log4net 1、添加log4net.dll引用 2、编辑配置文件,有两种做法:放在web.config里或放在单独的文件里,我们一般放在单独的文件里,这样做的好处--修改log4net的配置不会影响到整个应用重启 3、在Global.asax的Application_Start里加入如下代码 log4net.Config.Xm...

log4net插入access自定义字段

1.创建表格 2.创建log4net.xml,并设置属性始终复制,关键属性 <bufferSize value="1" /> <conversionPattern value="%property{usernm}" />|DataDirectory| 如果是winform,在项目下加个文件夹App_Data然后将access数据...

未能加载文件或程序集“log4net,

未能加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821”或它的某一个依赖项。系统找不到指定的文件。 把log4net的bll文件复制到bin文件中就行...

【改进】用Log4net建立日志记录

上一篇随笔中只使用了普通的文件读写来进行日志的写入,正如很多朋友说的,频繁的对文件进行读写会造成很多的问题,代码缺少边界控制和操作控制,没有对资源进行管理,是非常典型的bad code。 然后经过前辈们的提点,今天使用了Log4net进行日志的写入,发现非常的便捷,同时也集成了对于日志的控制,减少因为日志写入而发生的一系列不该有的错误。 网上也有很多教程,...