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 甚至透過 Email、TCP/UDP、MSMQ-based message queue、SOAP等外傳方式,一切都可以讓開發者按照需求而定義對應動作。
詳細的應用以及文件可以參考官方網站的 Wiki文件說明,或者是參考:
第一個發想是 Log紀錄,畢竟開發系統後的最大
NLog (2.1.0)這玩意真的很不錯。八百年前寫 C#時是用 log4net來紀錄資訊,現在 NLog更是把紀錄發揚光大,讓開發者用起來便捷上手!
NLog不僅可以在程式裡給予不同的等級紀錄,最大的好處是在於 NLog支援多種儲存記錄的形式(Targe),例如儲存至一般檔案、資料庫、Console、本機端或是遠端 Event Log 甚至透過 Email、TCP/UDP、MSMQ-based message queue、SOAP等外傳方式,一切都可以讓開發者按照需求而定義對應動作。
詳細的應用以及文件可以參考官方網站的 Wiki文件說明,或者是參考:
- NLog - Advanced .NET Logging
- NLog - Advanced .NET Logging - CodePlex
- Introduction to NLog - Codeproject
- 介紹好用函式庫:NLog - Advanced .NET Logging - The Will Will Web
- NLog 組態檔範例:多重目標 - Huan-Lin 學習筆記
- ServiceStack Logging with NLog - Huan-Lin 學習筆記
- NLog.config 範例- Huan-Lin 學習筆記
- targets是用來定義如何處理應用程式收到的紀錄,例如:儲存的方式、內容的格式、儲存的檔名…等等,但 targets僅僅是定義而已,不會真的讓你的紀錄被寫入。而真正要記錄的動作是在 rules規範。
- rules則是用來定義記錄器 (Logger)要記錄哪個層級(log level)的內容 (minlevel),以及要利用哪一個 targets來記錄這些內容 (writeTo)。
留言