NLog 2.1.0 Advanced .NET Logging

因為工作需求,最近又準備開始撰寫 .NET相關的東西,為了勾起自己年久失修的 MS記憶,開始找些 Open Source來研究兼熱身。


第一個發想是 Log紀錄,畢竟開發系統後的最大甜蜜負荷便是找一隻又一隻自己生下的臭蟲,如果當初撰寫沒有埋一堆除錯訊息到 Log裏頭,實在很難想像如何研判一些系統上線後的奇怪問題,尤其是在多樣化高複雜度系統的環境下...。(當然如果你不介意用傳統 Console.WriteLine()的話就又是另一個故事了)

NLog (2.1.0)這玩意真的很不錯。八百年前寫 C#時是用 log4net來紀錄資訊,現在 NLog更是把紀錄發揚光大,讓開發者用起來便捷上手!

NLog不僅可以在程式裡給予不同的等級紀錄,最大的好處是在於 NLog支援多種儲存記錄的形式(Targe),例如儲存至一般檔案資料庫Console本機端或是遠端 Event Log 甚至透過 EmailTCP/UDPMSMQ-based message queueSOAP等外傳方式,一切都可以讓開發者按照需求而定義對應動作。

詳細的應用以及文件可以參考官方網站的 Wiki文件說明,或者是參考:
基本上 NLog的設定檔可以分成幾個部分(targetsrules、extensions、includevariable),最重要也最常用的就是 targetsrules這兩個標籤。
  • targets是用來定義如何處理應用程式收到的紀錄,例如:儲存的方式、內容的格式、儲存的檔名…等等,但 targets僅僅是定義而已,不會真的讓你的紀錄被寫入。而真正要記錄的動作是在 rules規範。
  • rules則是用來定義記錄器 (Logger)要記錄哪個層級(log level)的內容 (minlevel),以及要利用哪一個 targets來記錄這些內容 (writeTo)。
如果要清楚每個環節又不想看落落長的英文 WiKi,就快到保哥的網站 - 介紹好用函式庫:NLog - Advanced .NET Logging 參拜一下!不過,要熟悉套件最快的方式,還是立馬專案作一個就知道了啦!

張貼留言

最近三十天熱門文章

歡樂文青產生器

Win7 的字型顯示模糊問題

彤管揚輝