zoukankan      html  css  js  c++  java
  • Log4Net配置

    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&quot;.log&quot;" /><!--日志文件名-->
    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("我是一个异常");
  • 相关阅读:
    influxdb服务器 relay
    browse-agent type and curl post
    使用 Ansible 管理 MySQL 复制
    ansible里的item和with_items
    Ansible 从MySQL数据库添加或删除用户
    ansibel---tag模块
    ll | wc -l的陷阱
    ansible 判断和循环
    Ansible详解(二)
    Ansible详解(一)
  • 原文地址:https://www.cnblogs.com/JessieR/p/8967728.html
Copyright © 2011-2022 走看看