Log4Net configuration

Automatically add new files when Log4Net file exceeds limit

 1   <log4net>
 2     <logger name="SystemExceptionLogger"><!--Logger名称-->
 3       <level value="All" />
 4       <appender-ref ref="LogFileAppender" />
 5     </logger>
 6     <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
 7       <param name="File" value="log\\" /><!--File storage path --> 
8        < param name ="AppendToFile" value ="true"  /> <!-- Whether to continue adding files with the same name --> 
9        < param name ="MaxSizeRollBackups" value ="100"  /> <!-- Maximum number of backup files --> 
10        < param name ="MaxFileSize" value ="100"  /> <!-- Single file size --> 
11        < param name ="StaticLogFileName" value ="false" /> <!-- Is it a static file name -->
12        < param name ="DatePattern" value ="yyyyMMdd".log""  /> <!-- log file name --> 
13        < param name ="RollingStyle" value ="Date"  /> 
14  
15        < layout type = "log4net.Layout.PatternLayout" > 
16          <!-- Log format --> 
17          < param name ="ConversionPattern" value ="%newline %nRecord time: %date %nThread ID:[%thread] %nLog Level: %-5level %nError class: %logger property:[%property{NDC}] - %nError description: %message%newline %n"   /> 
18       </layout>
19     </appender>
20   </log4net>

Log4Net single file configuration

 1   <log4net>
 2     <root>
 3       <level value="WARN" />
 4       <appender-ref ref="LogFileAppender" />
 5     </root>
 6     <logger name="SystemExceptionLogger">
 7       <level value="DEBUG" />
 8     </logger>
 9     <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
10       <param name="File" value="log/Errorlog.log" />
11       <param name="AppendToFile" value="true" />
12       <layout type="log4net.Layout.PatternLayout">
13         <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]  - %m%n" />
14       </layout>
15       <filter type="log4net.Filter.LevelRangeFilter">
16         <param name="LevelMin" value="DEBUG" />
17         <param name="LevelMax" value="WARN" />
18       </filter>
19     </appender>
20   </log4net>

Add in Application_Start method in Global

log4net.Config.XmlConfigurator.Configure();

Background code, add a new tag to the Filter folder of the API

1     public class ApiHandleErrorAttribute : ExceptionFilterAttribute
2     {
3         public override void OnException(HttpActionExecutedContext actionExecutedContext)
4         {
5         LoggerManager.LogSysException(actionExecutedContext.Exception);//异常记录
6             base.OnException(actionExecutedContext);
7         }
8     }

Finally, call

1      public  static  class LoggerManager
 2      {
 3  
4          static log4net.ILog log = log4net.LogManager.GetLogger( " SystemExceptionLogger " ); // Get a logger 
5          #region exception record
 6          ///  <summary> 
7          /// Record System exception
 8          ///  </summary> 
9          ///  <param name="ex"></param> 
10          public  static  void LogSysException(System.Exception ex)
 11          {
 12              log.Info(ex);// Write a new log 
13          }
 14          #endregion 
15      }

Add a code when testing, be careful not to write it in try catch

throw  new Exception( " I am an exception " );

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324991289&siteId=291194637