log4net各种Filter使用


 

 
  1. log4net里面的filter类常用的为:    
  2.     1、DenyAllFilter    
  3.        拒绝所用的日志输出    
  4.        <filter type="log4net.Filter.LevelMatchFilter">    
  5.            <param name="LevelToMatch" value="DEBUG" />          
  6.        </filter>    
  7.        <filter type="log4net.Filter.DenyAllFilter" />    
  8.        上面的配置是如果日志的输出级别不符合DEBUG要求的话,则不输出任何日志。    
  9.     2、LevelMatchFilter    
  10.        这个类里面有两个属性,一个是LevelToMatch这个属性是你要匹配输出日志的级别,比如:    
  11.         <filter type="log4net.Filter.LevelMatchFilter">    
  12.            <param name="LevelToMatch" value="DEBUG" />          
  13.         </filter>    
  14.        这样的话,只有级别是DEBUG的日志才能输出。    
  15.        另外这个类还有一个重要的属性就是AcceptOnMatch这个属性是设置如果这个条件匹配的话,是否接受输出打印,比如说:    
  16.         <filter type="log4net.Filter.LevelMatchFilter">    
  17.            <param name="LevelToMatch" value="DEBUG" />          
  18.         </filter>    
  19.         <filter type="log4net.Filter.StringMatchFilter">    
  20.            <param name="StringToMatch" value="debug" />          
  21.         </filter>    
  22.        如果日志的级别为DEBVG的话,也就是说符合了第一个Filter的条件,日志就输出,则StringMatchFilter就不执行了。如果这样写的话,就会继续向下执行过滤:    
  23.         <filter type="log4net.Filter.LevelMatchFilter">    
  24.            <param name="LevelToMatch" value="DEBUG" />      
  25.            <AcceptOnMatch value="false"></AcceptOnMatch>       
  26.         </filter>    
  27.         <filter type="log4net.Filter.StringMatchFilter">    
  28.            <param name="StringToMatch" value="debug" />          
  29.         </filter>    
  30.        如果这样写的话,即使第一个Filter符合了条件则第二个Filter也会继续执行。    
  31.     3、LevelRangeFilter    
  32.        配置文件是这样的:    
  33.         <filter type="log4net.Filter.LevelRangeFilter">    
  34.             <param name="LevelMin" value="DEBUG" />    
  35.             <param name="LevelMax" value="ERROR" />    
  36.         </filter>    
  37.     4、LoggerMatchFilter    
  38.        配置文件是这样的:    
  39.         <filter type="log4net.Filter.LoggerMatchFilter">    
  40.             <param name="LoggerToMatch" value="Client" />    
  41.         </filter>    
  42.     5、StringMatchFilter    
  43.        配置文件是这样的:    
  44.         <filter type="log4net.Filter.StringMatchFilter">    
  45.             <param name="StringToMatch" value="/blog/Client.Program" />    
  46.         </filter>    

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

原文地址:https://www.cnblogs.com/lvdongjie/p/6122013.html