您的位置:首页 > 编程语言 > C#

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

2017-12-27 14:41 447 查看

第一步:引用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中的,一般有异常信息都是可以运用这一段代码的。

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

 

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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: