log4net使用簡介


當我們開發軟件時,一般都會加入運行期的跟蹤手段,以方便后續故障分析和Bug調試。.net framework本身提供了一個System.Diagnostics.Trace類來實現流程跟蹤功能,但很多時候卻不能滿足我們的需求,這時往往需要一個更加強大的第三方日志系統。

前段時間在項目中使用了log4net來記錄日志,感覺還不錯,這里簡單的介紹一下它的用法。使用log4net需要如下幾個步驟:

一、在Nuget中下載log4net

        

二、在使用日志的類的名字空間前加上XmlConfiguratorAttribute標記

    

不加這個標記的話則log無法生效,如果類較多則比較麻煩,此時可以把這個配置放在AssemblyInfo.cs中,針對整個程序集生效。

三、在代碼中使用log4net記錄日志

簡單的做法就是直接使用內置的Log類:

    static void Main(string[] args)
    {
        ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
        log.Error("error", new Exception("
發生了一個異常
"));
        log.Fatal("fatal", new Exception("
發生了一個致命錯誤"));
        log.Info("info");
        log.Debug("debug");
        log.Warn("warn");
        Console.WriteLine("
日志記錄完畢。");
    }

四、配置輸出方式

log4net的輸出方式是通過配置文件(App.config)來控制的,通過配置文件的好處是非常靈活,可以動態改變配置。一個簡單的示例如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
        </configSections>
        <log4net>
            <root>
                <appender-ref ref="LogFileAppender" />
            </root>
            <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
                <file value="r:/log4netfile.txt" />
                <appendToFile value="true" />
                <rollingStyle value="Date" />
                <LockingModel type="log4net.Appender.FileAppender+MinimalLock, log4net"/>
                <datePattern value="yyyyMMdd-HH:mm:ss" />
                <layout type="log4net.Layout.PatternLayout">
                    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - Line:%L %m%n" />
                </layout>
            </appender>
        </log4net>
    </configuration>

配置文件的方式初看上去非常復雜,但使用過后就會體會到它的強大之處。上面的配置定義了一個文本文件的方式輸出日志,這個也是最常用的一種方式。log4net提供了非常強大的控制策略,例如,可以控制輸出日志輸出格式、頁眉頁腳、覆蓋策略、安全控制等。具體的說明可以參看下Log4net中的RollingFileAppender解析這篇文章。

除了以文本方式輸出外,還可以使用系統日志、數據庫、控制台、郵件等多種方式。並且可以組合使用,這里就不一一介紹了,感興趣的朋友可以參考下log4net的各種Appender配置示例這篇文章。

小結

log4net非常靈活而強大,是一個不可多得的日志系統。本文這里只是介紹了一下log4net的基本用法,方便初次上手的朋友快速入門。如果需要更加深入的了解它,請參考codeproject上的文章log4net Tutorial


免責聲明!

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



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