Enterprise Library 6——Using the Logging Application Block

來源:互聯網
上載者:User

標籤:style   blog   http   使用   os   io   strong   檔案   

原文參考 http://msdn.microsoft.com/en-us/library/dn440731(v=pandp.60).aspx

一、簡介

日誌通常滿足兩個主要的要求:1、監控應用程式效能並提供資訊。效能方面,日誌可以監控程式內部發生了什麼,有時也監控程式外部發生了什麼。2、更重要的是用於審計。這種日誌可以跟蹤使用者的行為並且記錄使用者執行的一系列任務、讀取和修改的資訊、訪問的資源。

日誌模組是一個高靈活和可配置的解決方案,它允許以靈活多樣的方式建立和儲存日誌資訊於各種位置、分類並過濾資訊、收集調試過程中的上下文資訊、審計跟蹤並記錄。

二、日誌模組能做什嗎?

日誌模組可以使日誌功能和應用程式代碼分離。它可以把日誌條目發送到Windows 事件記錄、資料庫、文字檔,也可以產生包含日誌資訊的郵件、windows訊息佇列等。也可以自訂發送目的。

應用程式中,僅需簡單地用合適的對象(如Logwriter)產生一個日誌條目,然後調用其方法把日誌條目寫入相應的目標位置。

圖1-An overview of the logging process and the objects in the Logging block

三、日誌的代價和額外的上下文資訊

無論怎樣實現日誌,它總會有一些效能影響。日誌模組提供了靈活的、高度可配置的日誌解決方案,並且經過精心設計來最小化效能影響。但是,你仍然需要知道這個影響,並且要考慮你的日誌方案會如何影響它,需要在需求之間平衡。

LogWriter自動收集一些像時間、應用程式、機器名字、進程ID等上下文資訊。為了最小化效能影響,LogWriter類緩衝了這些值並且採用了延遲最小化——即只有當被一個Listener實際使用時才去建立。
然而,收集額外的上下文資訊的代價是非常高的並且浪費寶貴的資源,這可能會影響效能。因此,在建立LogEntry時,只有指定需要某些不常用的資訊時,日誌模組才去收集。日誌模組中的四個類可以收集指定的上下文資訊,包括COM+、當前堆棧、運行時安全相關以及系統安全相關。LogEntry還有一個字典屬性允許程式員添加資訊。

四、怎樣使用Logging Block?

其中的關鍵是建立日誌條目,然後調用方法把這個日誌條目寫入目標。

1、添加LoggingBlock的引用到項目中

需要添加的引用有Microsoft.Practices.EnterpriseLibrary. Logging.dll,如果日誌 Microsoft.Practices.EnterpriseLibrary. Logging.Database.dll並添加需要的引用:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.