經驗表明,日誌記錄往往是軟件開發週期中的重要組成部分。它具有以下幾個優點:它可以提供應用程序運行時的精確環境,可供開發人員儘快找到應用程序中的 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是一個開源的項目。如果你有更多的需求,可以根據說明文檔自己來進行擴展,期待大家,有好的用法。一起發出來,和大家一起交流。