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>

猜你喜欢

转载自xugou4-yahoo-com-cn.iteye.com/blog/1335962
今日推荐