NLog

NLog

NLog是一個基於.NET平台編寫的類庫,我們可以使用NLog在應用程式中添加極為完善的跟蹤調試代碼。 NLog是一個簡單靈活的.NET日誌記錄類庫。通過使用NLog,我們可以在任何一種.NET語言中輸出帶有上下文的(contextual information)調試診斷信息,根據喜好配置其表現樣式之後傳送到一個或多個輸出目標(target)中。 NLog的API非常類似於log4net,且配置方式非常簡單。NLog使用路由表(routing table)進行配置,但log4net卻使用層次性的appender配置,這樣就讓NLog的配置檔案非常容易閱讀,並便於今後維護。 NLog遵從BSD license,即允許商業套用且完全開放原始碼。任何人都可以免費使用並對其進行測試,然後通過郵件列表反饋問題以及建議。 NLog支持.NET、C/C++以及COM interop API,因此我們的程式、組件、包括用C++/COM 編寫的遺留模組都可以通過同一個路由引擎將信息傳送至NLog中。

NLog允許我們自定義從跟蹤訊息的 來源(source)到記錄跟蹤信息的 目標(target)規則(rules)。記錄跟蹤信息的目標(target)可以為如下幾種形式:

檔案

文本控制台

Email

資料庫

網路中的其它計算機(通過TCP或UDP)

基於MSMQ的訊息佇列

Windows系統日誌

1.

檔案

2.

文本控制台

3.

Email

4.

資料庫

5.

網路中的其它計算機(通過TCP或UDP)

6.

基於MSMQ的訊息佇列

7.

Windows系統日誌

除此之外,每一條跟蹤訊息都可以自動帶有 上下文信息(contextual information),並將其傳送給記錄跟蹤信息的目標。這些上下文信息可以包含如下內容:

當前的日期和時間(多種格式)

記錄等級

來源名稱

輸出跟蹤訊息的方法的堆疊信息

環境變數的值

異常的詳細信息

計算機、進程和執行緒名稱

1.

當前的日期和時間(多種格式)

2.

記錄等級

3.

來源名稱

4.

輸出跟蹤訊息的方法的堆疊信息

5.

環境變數的值

6.

異常的詳細信息

7.

計算機、進程和執行緒名稱

每條跟蹤信息都包含一個記錄等級(log level)信息,用來描述該條信息的重要性。NLog支持如下幾種記錄等級:

Trace- 最常見的記錄信息,一般用於普通輸出

Debug- 同樣是記錄信息,不過出現的頻率要比Trace少一些,一般用來調試程式

Info- 信息類型的訊息

Warn- 警告信息,一般用於比較重要的場合

Error- 錯誤信息

Fatal- 致命異常信息。一般來講,發生致命異常之後程式將無法繼續執行。

1.

Trace

2.

Debug

3.

Info

4.

Warn

5.

Error

6.

Fatal

NLog的.NET API的過濾信息功能執行效率很高,這樣我們就可以一直保留程式中的日誌寫入代碼,然後由NLog在運行時將其根據需要過濾掉。在一個1.6G單CPU筆記本電腦上,NLog每秒鐘可以過濾掉1.5億條日誌寫入語句!加上 異步處理(asynchronous processing)以及其他 包裝程式(wrappers)的支持,NLog將成為一個極為強大的、且極具伸縮性的日誌記錄工具,

相關詞條

熱門詞條

聯絡我們