用Log4Net來記錄系統的日誌信息

 幾乎所有的大型應用都會有自己的用於跟蹤調試的API。因爲一旦程序被部署以後,就不太可能再利用專門的調試工具了。然而一個管理員可能需要有一套強大的日誌系統來診斷和修復配置上的問題。

       經驗表明,日誌記錄往往是軟件開發週期中的重要組成部分。它具有以下幾個優點:它可以提供應用程序運行時的精確環境,可供開發人員儘快找到應用程序中的 Bug;一旦在程序中加入了Log 輸出代碼,程序運行過程中就能生成並輸出日誌信息而無需人工干預。另外,日誌信息可以輸出到不同的地方(控制檯,文件等)以備以後研究之用。

     Log4net就是爲這樣一個目的設計的,用於.NET開發環境的日誌記錄包。Log4Net是Apache開源的應用於.Net框架的日誌記錄工具。它功能強大,可配置性靈活,線程安全,對日誌的輸出管理和級別管理方便我們可以從http://logging.apache.org/log4net/download.html上下載最新版本。 然後引用log4net.dll到項目中。

下面我們一起來看一下,新建一個Web應用程序後,如何運用Log4Net進行日誌信息的記錄,詳細配置如下:

全局Global 的配置:

public class Global : System.Web.HttpApplication
 {
  private static ILog logger = LogManager.GetLogger(typeof(Global));  protected void Application_Start(object sender, EventArgs e)
  {
           log4net.Config.XmlConfigurator.Configure();// 讀取配置文件初始化log4Net
            IndexManager.Instance.Start();
   }
  protected void Application_Error(object sender, EventArgs e)
 {  
        // 異常對象HttpContext.Current.Error
         logger.Error("程序發生未捕獲異常", HttpContext.Current.Error);
  }
}

Web.config 的配<?xml version="1.0"?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>
        <!-- Define some output appenders -->
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="log.txt"/> <!—日誌名稱-->

            <appendToFile value="true"/>
            <maxSizeRollBackups value="10"/><!—日誌最大可備份數-->

            <maximumFileSize value="1024KB"/><!—日誌文件大小-->

            <rollingStyle value="Size"/>
            <staticLogFileName value="true"/>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
            </layout>
        </appender>
        <root>
            <level value="DEBUG"/>
            <appender-ref ref="RollingLogFileAppender"/>
        </root>
    </log4net>

在項目中頁面的運用代碼:


記錄的日誌信息:

 

log4Net是一個開源的項目。如果你有更多的需求,可以根據說明文檔自己來進行擴展,期待大家,有好的用法。一起發出來,和大家一起交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章