Log4Net文件超过限制自动添加新文件
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\" /><!--文件存储路径--> 8 <param name="AppendToFile" value="true" /><!--是否继续在同名文件后添加--> 9 <param name="MaxSizeRollBackups" value="100" /><!--最大备份文件数--> 10 <param name="MaxFileSize" value="100" /><!--单个文件大小--> 11 <param name="StaticLogFileName" value="false" /><!--是否为静态文件名--> 12 <param name="DatePattern" value="yyyyMMdd".log"" /><!--日志文件名--> 13 <param name="RollingStyle" value="Date" /> 14 15 <layout type="log4net.Layout.PatternLayout"> 16 <!--日志格式--> 17 <param name="ConversionPattern" value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n" /> 18 </layout> 19 </appender> 20 </log4net>
Log4Net单个文件配置
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>
在Global中的Application_Start方法中添加
log4net.Config.XmlConfigurator.Configure();
后台代码,在API的Filter文件夹中新加一个标记
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 }
最后就是调用了
1 public static class LoggerManager 2 { 3 4 static log4net.ILog log = log4net.LogManager.GetLogger("SystemExceptionLogger");//获取一个日志记录器 5 #region 异常记录 6 /// <summary> 7 /// 记录系统异常 8 /// </summary> 9 /// <param name="ex"></param> 10 public static void LogSysException(System.Exception ex) 11 { 12 log.Info(ex);//写入一条新log 13 } 14 #endregion 15 }
测试的时候添加一条代码,注意不要写在try catch中
throw new Exception("我是一个异常");