天天看點

log4net進階手劄(二):基本用法

本節将主要在WebSite中,對儲存日志在文本檔案的基本用法來進行介紹,并結合WebForm的初始化方式差別進行說明,解決方案如下圖所示:

<a target="_blank" href="http://blog.51cto.com/attachment/201106/221933668.png"></a>

一、WebSite應用

第1步:配置Web.Config檔案,代碼如下;

&lt;configuration&gt; 

 &lt;configSections&gt; 

  &lt;section name="log4net"   

type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/&gt; 

 &lt;/configSections&gt; 

 &lt;log4net&gt; 

  &lt;root&gt; 

   &lt;level value="ALL"/&gt; 

   &lt;appender-ref ref="LogFileAppender"/&gt; 

  &lt;/root&gt; 

  &lt;appender name="LogFileAppender" 

type="log4net.Appender.FileAppender"&gt; 

   &lt;param name="File" value="log/website.log"/&gt; 

   &lt;param name="AppendToFile" value="true"/&gt; 

   &lt;layout type="log4net.Layout.PatternLayout"&gt; 

    &lt;param name="ConversionPattern" 

value="%d [%t] %-5p %c [%x] &amp;lt;%X{auth}&amp;gt;%n - %m%n"/&gt; 

   &lt;/layout&gt; 

  &lt;/appender&gt; 

 &lt;/log4net&gt; 

…  

&lt;/configuration&gt; 

第2步:配置global.asax檔案,打開并在Application_Start中添加一行代碼,代碼如下:

void Application_Start(object sender, EventArgs e)   

 {  

     log4net.Config.XmlConfigurator.Configure();  

 } 

第3步:添加頁元素和測試代碼,在頁面中添加兩個按鈕,如下圖所示:

<a target="_blank" href="http://blog.51cto.com/attachment/201106/222306556.png"></a>

測試代碼如下圖所示:

public partial class _Default : System.Web.UI.Page   

{  

    log4net.ILog log;  

    protected void Page_Load(object sender, EventArgs e)  

    {  

        log = log4net.LogManager.GetLogger(this.GetType());  

    }  

    protected void btnInfo_Click(object sender, EventArgs e)  

        log.Info("log4net info測試 - 彭金華");  

    protected void btnError_Click(object sender, EventArgs e)  

        Exception ex;  

        ex = new Exception("log4net error測試 - 彭金華");  

        log.Error("log4net error測試", ex);  

第4步:運作檢視結果,結果如下圖所示。

<a href="http://blog.51cto.com/attachment/201106/222630456.png" target="_blank"></a>

二、WebForm應用

在WebForm應用中,配置初始化log4net的方法要多一點,最終目的是相同的,既可以把代碼加在Global.asax的Application_Start中,也可以寫在Properties/AssemblyInfo.cs中,具體如下:

[assembly: log4net.Config.XmlConfigurator()] 

其它的和上述中的WebSite都相同。

本文轉自 彭金華  51CTO部落格,原文連結:http://blog.51cto.com/pengjh/584524

繼續閱讀