zoukankan      html  css  js  c++  java
  • Log4Net 记录错误日志。

    点击进入推荐链接

    1、先添加log4net.dll的引用。

       

    2、在程序入口的地方(Gloabal文件)加上这句log4net.Config.XmlConfigurator.Configure()。  

     1 protected void Application_Start()
     2 {
     3     log4net.Config.XmlConfigurator.Configure();
     4     AreaRegistration.RegisterAllAreas();
     5     WebApiConfig.Register(GlobalConfiguration.Configuration);
     6     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     7     RouteConfig.RegisterRoutes(RouteTable.Routes);
     8     BundleConfig.RegisterBundles(BundleTable.Bundles);
     9     //QueueUserWorkItem()将方法排入列队以便执行。在匿名函数中判断队列中是否有数据,以及写错误信息到日志中。
    10     //开启一个线程,扫描异常信息队列。
    11     ThreadPool.QueueUserWorkItem((c)=>{
    12         while (true)
    13         {
    14             //判断队列中是否否有数据。
    15             if (MyExceptionAttribute.QueueException.Count > 0)
    16             {
    17                 //通过Dequeue()方法,拿到异常对象。
    18                 Exception ex = MyExceptionAttribute.QueueException.Dequeue();
    19                 if (ex != null)
    20                 {
    21                     //得到logger对象。
    22                     ILog logger = LogManager.GetLogger("ErrorMsg");
    23                     //写入到文件中。
    24                     logger.Error(ex.ToString());
    25                 }
    26                 else
    27                 {
    28                     System.Threading.Thread.Sleep(3000);
    29                 }
    30             }
    31             else
    32             {
    33                 //休眠3秒。
    34                 Thread.Sleep(3000);
    35             }    
    36         }
    37     });
    38 }

    3、在Web.Config中配置节点。在<configSections> </configSections>节点中添加配置。  

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>    

    4、在<configuration> </configuration>节点中配置<log4net></log4net>节点。

     1  <log4net>
     2     <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
     3     <!-- Set root logger level to ERROR and its appenders -->
     4     <root>
     5       <level value="ALL"/><!--权限为所有-->
     6       <appender-ref ref="SysAppender"/>
     7     </root>
     8 
     9     <!-- Print only messages of level DEBUG or above in the packages -->
    10     <logger name="WebLogger">
    11       <level value="DEBUG"/>
    12     </logger>
    13     <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
    14       <param name="File" value="App_Data/" /> <!--将生成的log日志存储在App_Data文件夹中。-->
    15       <param name="AppendToFile" value="true" /> <!--追加-->
    16       <param name="RollingStyle" value="Date" /> <!--以日期的格式进行滚动-->
    17       <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
    18       <param name="StaticLogFileName" value="false" /> <!--动态-->
    19       <layout type="log4net.Layout.PatternLayout,log4net"> <!--以日期格式布局-->
    20         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    21         <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
    22         <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
    23       </layout>
    24     </appender>
    25     <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
    26       <layout type="log4net.Layout.PatternLayout,log4net">
    27         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    28       </layout>
    29     </appender>
    30   </log4net>

    5、如果请求的控制器出现异常了,新建的Log日志会记录异常信息。

      

    点击进入推荐链接

    End。 

  • 相关阅读:
    nginx利用image_filter动态生成缩略图
    uva 624 CD 01背包打印路径
    【剑指Offer学习】【全部面试题汇总】
    POJ2096-Collecting Bugs(概率DP)
    配置struts tags 输出HTML
    合并基因表达水平(merge gene expression levels, FPKM)
    设置MySQL自动增长从某个指定的数开始
    列联表(Crosstabs)
    mysql 实现行号的方法——如何获取当前记录所在行号
    shell 标出输入、标准输出、错误输出
  • 原文地址:https://www.cnblogs.com/xiezunxu/p/7866013.html
Copyright © 2011-2022 走看看