Log4Net配置


上的日志将Debug、Error、Info、Warn的信息放在一个文件里,看着有些杂乱。我自己配置了一个将它们分开(今天双十一)放,看着舒服,下面是配置后得到效果

好了,接下来是步骤,

首先在 Nuget引用log4net包,此处内容跳过,

接下来是配置文件  控制台是App.config网站是web.config文件

1   <configSections> 
2     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
3   configSections>
  1 <log4net>
  2     
  3     <root>
  4       
  5       <level value="ERROR"/>
  6       <level value="WARN"/>
  7       <level value="INFO"/>
  8       <level value="DEBUG"/>
  9       <appender-ref ref="Error" />
 10       <appender-ref ref="Warn" />
 11       <appender-ref ref="Info" />
 12       <appender-ref ref="Debug" />
 13     root>
 14     
 15     <appender name="Error" type="log4net.Appender.RollingFileAppender">
 16       
 17       <param name="File" value="Log/" />
 18       
 19       <param name="DatePattern" value="yyyy-MM-dd/"Error.txt"" />
 20       
 21       <appendToFile value="true"/>
 22       
 23       <rollingStyle value="Composite"/>
 24       
 25       <staticLogFileName value="false"/>
 26       
 27       <maximumFileSize value="10MB"/>
 28       
 29       <maxSizeRollBackups value="-1"/>
 30       
 31       <layout type="log4net.Layout.PatternLayout">
 32         <header value="[Begin]%newline" type="log4net.Util.PatternString" />
 33         <footer value="[End]%newline%newline" type="log4net.Util.PatternString" />
 34         <ConversionPattern value="%d - Error :  %m%n" />
 35       layout>
 36       <filter type="log4net.Filter.LevelRangeFilter">
 37         <param name="LevelMin" value="ERROR" />
 38         <param name="LevelMax" value="ERROR" />
 39       filter>
 40     appender>
 41 
 42     
 43     <appender name="Warn" type="log4net.Appender.RollingFileAppender">
 44             
 45       <param name="File" value="Log/" />
 46       
 47       <param name="DatePattern" value="yyyy-MM-dd/"Warn.txt"" />
 48        
 49       
 50       <appendToFile value="true"/>
 51       
 52       <rollingStyle value="Composite"/>
 53       
 54       <staticLogFileName value="false"/>
 55       
 56       <maximumFileSize value="10MB"/>
 57       
 58       <maxSizeRollBackups value="-1"/>
 59       
 60       <layout type="log4net.Layout.PatternLayout"> 
 61         <header value="[Begin]%newline" type="log4net.Util.PatternString" />
 62         <footer value="[End]%newline%newline" type="log4net.Util.PatternString" />
 63         <ConversionPattern value="%d - Warn :  %m%n" />
 64       layout>
 65       <filter type="log4net.Filter.LevelRangeFilter">
 66         <param name="LevelMin" value="WARN" />
 67         <param name="LevelMax" value="WARN" />
 68       filter>
 69     appender>
 70 
 71     
 72     <appender name="Info" type="log4net.Appender.RollingFileAppender">
 73       
 74       <param name="File" value="Log/" />
 75       
 76       <param name="DatePattern" value="yyyy-MM-dd/"Info.txt"" />
 77       
 78       <appendToFile value="true"/>
 79       
 80       <rollingStyle value="Composite"/>
 81       
 82       <staticLogFileName value="false"/>
 83       
 84       <maximumFileSize value="10MB"/>
 85       
 86       <maxSizeRollBackups value="-1"/>
 87       
 88       <layout type="log4net.Layout.PatternLayout"> 
 89         <header value="[Begin]%newline" type="log4net.Util.PatternString" />
 90         <footer value="[End]%newline%newline" type="log4net.Util.PatternString" />
 91         <ConversionPattern value="%d - Info :  %m%n" />
 92       layout>
 93       <filter type="log4net.Filter.LevelRangeFilter">
 94         <param name="LevelMin" value="INFO" />
 95         <param name="LevelMax" value="INFO" />
 96       filter>
 97     appender>
 98 
 99     
100     <appender name="Debug" type="log4net.Appender.RollingFileAppender">
101       
102       <param name="File" value="Log/" />
103       
104       <param name="DatePattern" value="yyyy-MM-dd/"Debug.txt"" />
105       
106       <appendToFile value="true"/>
107       
108       <rollingStyle value="Composite"/>
109       
110       <staticLogFileName value="false"/>
111       
112       <maximumFileSize value="10MB"/>
113       
114       <maxSizeRollBackups value="-1"/>
115       
116       <layout type="log4net.Layout.PatternLayout">
117         <header value="[Begin]%newline" type="log4net.Util.PatternString" />
118         <footer value="[End]%newline%newline" type="log4net.Util.PatternString" />
119         <ConversionPattern value="%d - Debug :  %m%n" /> 
120       layout>
121       <filter type="log4net.Filter.LevelRangeFilter">
122         <param name="LevelMin" value="DEBUG" />
123         <param name="LevelMax" value="DEBUG" />
124       filter>
125     appender>
126 
127 
128   log4net>

日志的配置文件已经写好,接下来是使用

添加  

 [assembly:log4net.Config.XmlConfigurator()  ]

可以放在AssemblyInfo类里面,也可以在类的命名空间上面

调用测试  

1  var logger = LogManager.GetLogger(typeof(Program));
2             for (int i = 0; i < 100000; i++)
3             {
4             logger.Info("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd");
5             logger.Error("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd");
6             logger.Debug("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd");
7             logger.Warn("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd");
8 
9             }

好了,完成,留着给以后的自己看