NLog文章系列——系列文章目錄以及簡要介紹
早晨看到TerryLee的文章《.NET開源項目介紹及資源推薦:日志記錄》,其中說到NLog這個同樣開源且非常不錯的日志記錄工具卻沒什么中文資料。在TerryLee介紹前,我也不知道NLog這個東西,于是就隨便嘗試了一下。
簡單使用了一下之后,覺得NLog真的非常不錯。如此漂亮的類庫卻沒有中文資料,似乎有些可惜,于是嘗試聯系其作者Jaroslaw Kowalski請求翻譯NLog網站中的一部分內容。沒想到Jaroslaw Kowalski很快給我回了信表示同意,更巧的是居然我們還是同事!
文章目錄
交流之后,我決定先從NLog網站的介紹文檔開始,逐步翻譯并介紹NLog的使用方法,直至最終推出NLog的中文版網站。接下來我也可能加入NLog開發團隊,當然這是后話。在翻譯的過程中,我會不斷將譯文發表至我的Blog之上,以下是我計劃的文章列表(鏈接指向原英文頁面,翻譯過后將加入中文文章鏈接):
文檔部分
- Tutorial(NLog文章系列——入門教程(上)、(中)、(下)) - NLog入門介紹
- Configuration File - (如何配置NLog )配置文件介紹
- Visual Studio Support - (與Visual Studio集成)Visual Studio中的snippets、智能感知等
- Performance - NLog的性能
參考部分
- Targets - 日志信息的輸出目標
- Layouts - 日志信息的輸出格式(純文本、XML、CSV)
- Layout Renderers - 指定輸出信息中包含的內容(日期、時間、類名、方法名……)
- Filters - 過濾輸出信息
- Conditions - 過濾信息時用到的簡單謂詞語言
How to部分
- How to write your own Target - 如何編寫自定義的輸出目標(Target)
- How to write your own Layout Renderer - (如何寫自定義布局生成器(Layout Renderer))
- How to write your own Filter - (如何編寫自定義的過濾器(Filter) )
- How to write your own Condition Function - 如何編寫自定義的條件函數(Condition Function)
- How to optimize logging performance -(如何優化日志性能 )
- How to troubleshoot your logging problems - (如何排錯 )
NLog簡要介紹
(以下內容原文來自NLog網站的首頁:http://www.nlog-project.org/)
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的.NET API的過濾信息功能執行效率很高,這樣我們就可以一直保留程序中的日志寫入代碼,然后由NLog在運行時將其根據需要過濾掉。在一個1.6G單CPU筆記本電腦上,NLog每秒鐘可以過濾掉1.5億條日志寫入語句!加上異步處理(asynchronous processing)以及其他包裝程序(wrappers)的支持,NLog將成為一個極為強大的、且極具伸縮性的日志記錄工具,
浙公網安備 33010602011771號