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支持.NETC/C++以及COM interop API,因此我們的程式、組件、包括用C++/COM 編寫的遺留模組都可以通過同一個路由引擎將信息傳送至NLog中。

基本介紹

  • 中文名:.NET日誌記錄類庫
  • 外文名:NLog
NLog允許我們自定義從跟蹤訊息的來源(source)到記錄跟蹤信息的目標(target)規則(rules)。記錄跟蹤信息的目標(target)可以為如下幾種形式:
  1. 檔案
  2. 文本控制台
  3. Email
  4. 資料庫
  5. 網路中的其它計算機(通過TCP或UDP)
  6. 基於MSMQ的訊息佇列
  7. Windows系統日誌
除此之外,每一條跟蹤訊息都可以自動帶有上下文信息(contextual information),並將其傳送給記錄跟蹤信息的目標。這些上下文信息可以包含如下內容:
  1. 當前的日期和時間(多種格式)
  2. 記錄等級
  3. 來源名稱
  4. 輸出跟蹤訊息的方法的堆疊信息
  5. 環境變數的值
  6. 異常的詳細信息
  7. 計算機、進程和執行緒名稱
每條跟蹤信息都包含一個記錄等級(log level)信息,用來描述該條信息的重要性。NLog支持如下幾種記錄等級:
  1. Trace- 最常見的記錄信息,一般用於普通輸出
  2. Debug- 同樣是記錄信息,不過出現的頻率要比Trace少一些,一般用來調試程式
  3. Info- 信息類型的訊息
  4. Warn- 警告信息,一般用於比較重要的場合
  5. Error- 錯誤信息
  6. Fatal- 致命異常信息。一般來講,發生致命異常之後程式將無法繼續執行。
NLog的.NET API的過濾信息功能執行效率很高,這樣我們就可以一直保留程式中的日誌寫入代碼,然後由NLog在運行時將其根據需要過濾掉。在一個1.6G單CPU筆記本電腦上,NLog每秒鐘可以過濾掉1.5億條日誌寫入語句!加上異步處理(asynchronous processing)以及其他包裝程式(wrappers)的支持,NLog將成為一個極為強大的、且極具伸縮性的日誌記錄工具,

相關詞條

熱門詞條

聯絡我們