• C#:MVC引用Log4Net生成错误日志


    第一步:引用log4net配置文件

    第二步:在自己项目下新建文件夹LogNet,再在里面建立类Log.cs

    log.cs内容如下:

     1     public class Log
     2     {
     3         public static void WriteFatal(Exception ex)
     4         {
     5             log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
     6             log.Fatal("严重错误", ex);
     7         }
     8 
     9         /// <summary>
    10         /// 输出异常信息
    11         /// </summary>
    12         /// <param name="t"></param>
    13         /// <param name="e"></param>
    14         public static void WriteLog(Type t, Exception e)
    15         {
    16             log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    17             log.Error("Error", e);
    18         }
    19 
    20         /// <summary>
    21         /// 输出普通错误信息
    22         /// </summary>
    23         /// <param name="ex"></param>
    24         public static void WriteLog(Exception ex)
    25         {
    26             log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    27             log.Error("Error", ex);
    28         }
    29 
    30         /// <summary>
    31         /// 输出DEBUG信息
    32         /// </summary>
    33         /// <param name="text"></param>
    34         public static void WriteDebug(object text)
    35         {
    36             log4net.ILog log = log4net.LogManager.GetLogger("Debug信息");
    37             log.Debug(text);
    38         }
    39 
    40         /// <summary>
    41         /// 输出程序运行信息
    42         /// </summary>
    43         /// <param name="text"></param>
    44         public static void WriteInfo(string text)
    45         {
    46             ILog log = LogManager.GetLogger("程序运行信息");
    47             log.Info(text);
    48         }
    49     }

    第三步:在自己项目下新建Log4Net.config

    Log4Net.config内容如下:

     1 <?xml version="1.0"?>
     2 <configuration>
     3   <configSections>
     4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
     5   </configSections>
     6   <log4net>
     7     <!--定义输出到文件中-->
     8     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
     9       <!--定义文件存放位置-->
    10       <file value="log\\"/>
    11       <appendToFile value="true"/>
    12       <rollingStyle value="Date"/>
    13       <datePattern value="yyyy-MM-dd'.txt'"/>
    14       <staticLogFileName value="false"/>
    15       <MaxSizeRollBackups value="100"/>
    16       <layout type="log4net.Layout.PatternLayout">
    17         <!--每条日志末尾的文字说明-->
    18         <!--输出格式-->
    19         <!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
    20         <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>
    21       </layout>
    22     </appender>
    23     <root>
    24       <level value="ERROR"/>
    25       <level value="DEBUG"/>
    26       <level value="INFO"/>
    27       <!--文件形式记录日志-->
    28       <appender-ref ref="RollingLogFileAppender"/>
    29     </root>
    30   </log4net>
    31   <startup>
    32     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    33   </startup>
    34 </configuration>

    第四步:在项目中搜索Global.asax.cs中加载log4net配置文件

     

    第五步:也是比较重要的一步,就是在AssemblyInfo.cs中注册这个Log4Net.config,不然是不会自动生成text文件的。

    第六步:然后就可以在控制器函数里面去引用Log。

    这一行是写在try...catch...中的catch中的,一般有异常信息都是可以运用这一段代码的。

    这一行是我这边需求需要不停监控程序的运行情况,所以加了这行不停输出程序运行信息。

    以上是我的分享,欢迎转载!

  • 相关阅读:
    使用快慢指针求解「环形链表」so easy!
    位运算中异或的常见用法总结
    LeetCode 第 131 号问题:分割回文串
    从简单二叉树问题重新来看深度优先搜索
    拓扑排序原理与解题套路
    人越老,脸皮越厚
    反直觉的「生日悖论」问题
    天真!这简历一看就是包装过的
    如何在 GitHub 上找到免费且实用的软件?
    如何在 10 亿数中找出前 1000 大的数
  • 原文地址:https://www.cnblogs.com/W--Jing/p/8125652.html
Copyright © 2020-2023  润新知