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       <!--级别: ERROR 、 WARN 、 INFO 、 DEBUG -->
  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     <!-- 错误 Error.log-->
 15     <appender name="Error" type="log4net.Appender.RollingFileAppender">
 16       <!--路径-->
 17       <param name="File" value="Log/" />
 18       <!--文件名-->
 19       <param name="DatePattern" value="yyyy-MM-dd/&quot;Error.txt&quot;" />
 20       <!--追加到文件-->
 21       <appendToFile value="true"/>
 22       <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
 23       <rollingStyle value="Composite"/>
 24       <!--写到一个文件-->
 25       <staticLogFileName value="false"/>
 26       <!--单个文件大小。单位:KB|MB|GB-->
 27       <maximumFileSize value="10MB"/>
 28       <!--最多保留的文件数,设为"-1"则不限-->
 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     <!-- 警告 Warn.log-->
 43     <appender name="Warn" type="log4net.Appender.RollingFileAppender">
 44       <!--路径-->      
 45       <param name="File" value="Log/" />
 46       <!--文件名-->
 47       <param name="DatePattern" value="yyyy-MM-dd/&quot;Warn.txt&quot;" />
 48        
 49       <!--追加到文件-->
 50       <appendToFile value="true"/>
 51       <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
 52       <rollingStyle value="Composite"/>
 53       <!--写到一个文件-->
 54       <staticLogFileName value="false"/>
 55       <!--单个文件大小。单位:KB|MB|GB-->
 56       <maximumFileSize value="10MB"/>
 57       <!--最多保留的文件数,设为"-1"则不限-->
 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     <!-- 信息 Info.log-->
 72     <appender name="Info" type="log4net.Appender.RollingFileAppender">
 73       <!--路径-->
 74       <param name="File" value="Log/" />
 75       <!--文件名-->
 76       <param name="DatePattern" value="yyyy-MM-dd/&quot;Info.txt&quot;" />
 77       <!--追加到文件-->
 78       <appendToFile value="true"/>
 79       <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
 80       <rollingStyle value="Composite"/>
 81       <!--写到一个文件-->
 82       <staticLogFileName value="false"/>
 83       <!--单个文件大小。单位:KB|MB|GB-->
 84       <maximumFileSize value="10MB"/>
 85       <!--最多保留的文件数,设为"-1"则不限-->
 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     <!-- 调试 Debug.log-->
100     <appender name="Debug" type="log4net.Appender.RollingFileAppender">
101       <!--路径-->
102       <param name="File" value="Log/" />
103       <!--文件名-->
104       <param name="DatePattern" value="yyyy-MM-dd/&quot;Debug.txt&quot;" />
105       <!--追加到文件-->
106       <appendToFile value="true"/>
107       <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
108       <rollingStyle value="Composite"/>
109       <!--写到一个文件-->
110       <staticLogFileName value="false"/>
111       <!--单个文件大小。单位:KB|MB|GB-->
112       <maximumFileSize value="10MB"/>
113       <!--最多保留的文件数,设为"-1"则不限-->
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             }

 

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

posted @ 2018-11-11 11:06  个人天使  阅读(221)  评论(1编辑  收藏  举报