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中的,一般有異常信息都是可以運用這一段代碼的。

這一行是我這邊需求需要不停監控程序的運行情況,所以加了這行不停輸出程序運行信息。

 

以上是我的分享,歡迎轉載!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM