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使用【转】的更多相关文章

  1. log4net各种Filter使用

    log4net里面的filter类常用的为: 1.DenyAllFilter 拒绝所用的日志输出 <filter type="log4net.Filter.LevelMatchFilt ...

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

    上一篇随笔中只使用了普通的文件读写来进行日志的写入,正如很多朋友说的,频繁的对文件进行读写会造成很多的问题,代码缺少边界控制和操作控制,没有对资源进行管理,是非常典型的bad code. 然后经过前辈 ...

  3. django 操作数据库--orm(object relation mapping)---models

    思想 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Ent ...

  4. MVC扩展Filter,通过继承HandleErrorAttribute,使用log4net或ELMAH组件记录服务端500错误、HttpException、Ajax异常等

    □ 接口 public interface IExceptionFilter{    void OnException(ExceptionContext filterContext);} Except ...

  5. Log4net - 规则简介

    参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...

  6. Log4net - 项目使用的一个简单Demo

    参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...

  7. log4net使用手册

    1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还 ...

  8. quartz定时+log4net日志+exchangeservice发邮件

    main using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  9. .NET WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)

    好吧,还是那个社区APP,非管理系统,用户行为日志感觉不是很必要的,但是,错误日志咱还是得记录则个.总不能上线后报bug了让自己手足无措吧,虽然不管有木有错误日志报bug都是件很头疼的事... 我们知 ...

随机推荐

  1. JVM内存模型

    原文地址:http://www.cnblogs.com/dingyingsi/p/3760447.html 1.程序计数器 程序计数器(Program Counter Register)是一块较小的内 ...

  2. linux命令:ls

    命令格式: ls [OPTION]... [FILE]... 功能: 列出某个目录下的文件信息,默认列出当前目录.输出结果默认按字母顺序排列. 参数: -a, --all,-A, --almost-a ...

  3. redis 查看的版本

    linux环境下查看redis的版本: 查看redis的版本有两种方式:1. redis-server --version 和 redis-server -v 得到的结果是:Redis server ...

  4. 如何正确的使用jquery-ajax

    什么是ajax ajax全称Asynchronous Javascript And XML,就是异步javascript和xml ajax的作用 ajax通常用于异步加载网页内容,以及局部更新. 实际 ...

  5. Shell编程和Vim操作

    其实一直不懂什么是shell,安卓adb调试时会使用一些简单的shell命令,总结一下 1.adb调试命令 全称:Android Debug Bridge 设置: export PATH=${PATH ...

  6. SPOJ GSS1 Can you answer these queries I[线段树]

    Description You are given a sequence A[1], A[2], ..., A[N] . ( |A[i]| ≤ 15007 , 1 ≤ N ≤ 50000 ). A q ...

  7. 离散信源的分类和数学模型&&离散无记忆信源的熵

    1.离散信源的分类和数学模型 在离散时间发出离散符号的信源称为离散信源.如果信源符号集为有限集,则称为有限离散信源.如果信源符号集为无限可数集,则称为无限离散信源. 离散无记忆信源的N次拓展源:设信源 ...

  8. Mysql 存储引擎 InnoDB与Myisam的主要区别

    MySQL默认采用的是MyISAM. 1,事务处理 innodb 支持事务功能,myisam 不支持. Myisam 的执行速度更快,性能更好. MyISAM不支持事务,而InnoDB支持.InnoD ...

  9. one to many

    @OneToMany(mappedBy="order",fetch=FetchType.EAGER,cascade={CascadeType.ALL})    private Li ...

  10. 栈的理解以及如何计算程序所需栈的大小并在IAR中设置栈

    文章首发于浩瀚先森博客 #栈的理解 一个程序大体上讲都是由变量和函数组合而成,变量有全局变量和局部变量,还有函数间传值的参数以及返回值. Stack是为了程序运行过程中临时保存所需数据而在内存里分配的 ...