文章出處

Log4net (Log for .net)

開源的記錄日志的組件,是從java的Log4J移植到.net

 


 

 

日志文件存放的位置

在項目新建“App_Code”和“App_Data”,該文件夾客戶端無法訪問

 


 

 

滾動日志文件

例:每個日志最多100MB,一個日志滿了,就新建一個日志保存,最多可以容納10個日志文件,超過10個文件,覆蓋最老的日志文件

 


 

 

日志級別

日志對象根據你使用的級別,匹配webconfig設置日志級別,如果使用的級別大于配置的級別,那么才把日志內容記錄到日志文件中。

常用級別項:Fatal>Error>Warn>Debug ,即 嚴重>錯誤>警告>調試。

 


 

 

在Web.config中配置Log4net

一、

在<configuration>節點下新建節點< configSections>節點

然后在< configSections>下新增:

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

 

注意:

 

二、

然后

<configuration>

根節點下新增:

 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="ERROR" />
 6       <appender-ref ref="RollingFileTracer" />
 7     </root>
 8     <!-- Print only messages of level DEBUG or above in the packages -->
 9     <appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net">
10       <param name="File" value="App_Data/Log/" />
11       <param name="AppendToFile" value="true" />
12       <param name="RollingStyle" value="Date" />
13       <param name="MaxSizeRollBackups" value="10" />
14       <param name="MaximumFileSize" value="1MB" />
15       <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
16       <param name="StaticLogFileName" value="false" />
17       <layout type="log4net.Layout.PatternLayout,log4net">
18         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
19       </layout>
20     </appender>
21   </log4net>
View Code

 

 

三、

在Global文件的Application_Start中寫(程序啟動的時候讀取配置)

log4net.Config.XmlConfigurator.Configure();

 

四、

在編寫程序時,如何使用

ILog logger = LogManager.GetLogger(typeof(當前類名)); 

logger.Error("記錄日志的內容",);

注意:Error方法代表log對象調用Error的級別寫入到日志文件中,如果配置文件配置的級別高于Error,那么內容將不會記錄到日志文件中

 


 

 

項目中常規使用處

在Global文件配置

Application_Error中記錄未處理異常

        protected void Application_Error(object sender, EventArgs e)

        {

            ILog log = LogManager.GetLogger(typeof(Global));

            log.Error("系統發生未處理異常",Context.Error);

        }

 

 


Web.config范例

 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <!--
 4   有關如何配置 ASP.NET 應用程序的詳細信息,請訪問
 5   http://go.microsoft.com/fwlink/?LinkId=169433
 6   -->
 7 
 8 <configuration>
 9 
10   <!--配置Log4net-->
11   <configSections>
12     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
13   </configSections>
14   
15     <system.web>
16       <compilation debug="true" targetFramework="4.5" />
17       <httpRuntime targetFramework="4.5" />
18 
19      
20 
21     </system.web>
22 
23   <!--連接字符串-->
24   <connectionStrings>
25     <add connectionString="Data Source=.;Initial Catalog=repengDb;User ID=sa;Password=84879825" name="sqlCon" />
26   </connectionStrings>
27 
28 
29 
30 
31 
32   <log4net>
33     <!-- 日志級別類型: OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
34     <root>
35       <level value="ERROR" />  <!--設置日志寫入級別-->
36       <appender-ref ref="RollingFileTracer" />  
37     </root>
38     
39     <!-- Print only messages of level DEBUG or above in the packages -->
40     <appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net"><!-- type= 設置日志的記錄類型,這里采用的是滾動日志-->
41 
42       <!--日志信息存儲到哪個文件夾下-->
43       <param name="File" value="App_Data/Log/" />  
44 
45       <!--是否將內容追加到日志文件-->
46       <param name="AppendToFile" value="true" />
47 
48       <!--根據日期作為日志滾動-->
49       <param name="RollingStyle" value="Date" />
50 
51       <!--最大容納10個日志文件-->
52       <param name="MaxSizeRollBackups" value="10" />
53       
54       <!--一個日志文件的大小-->
55       <param name="MaximumFileSize" value="1MB" />
56 
57       <!--日志文件命名方式-->
58       <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
59 
60       <!--有很多節點,需要時根據需求查找配置,沒必要全都記住。。。。-->
61       <param name="StaticLogFileName" value="false" />
62       <layout type="log4net.Layout.PatternLayout,log4net">
63         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
64       </layout>
65     </appender>
66   </log4net>
67   
68 
69 </configuration>
View Code

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()