Enterprise Library4.0一log篇

最近研究了一下Enterprise Library4.0,在項目中做了點應用,這裏和大家分享一下: Enterprise Library Logging應用程序塊爲用戶提供了簡單實現日誌記錄的功能,開發人員可以使用日誌模塊方便的將日誌記錄到windows事件日誌、email,數據庫,消息隊列,文本等持久化設備中。我們這裏列舉一下將日誌信息存儲於數據庫中的做法。首先我們要在Enterprise Library Configuration工具中配置日誌模塊

Category Sources節點中設置日誌持久化到哪種設備中,比如Database節點中設置ReferencedTraceListener指向Trace Listeners節點中設置的Database Trace Listener,我們在這裏設置他的數據庫實例如下圖。同時在這裏還要配置寫日誌的存儲過程名,這些存儲過程和數據庫是通過/EntLib4Src/Blocks/Logging/Src/DatabaseTraceListener/Scripts文件夾下LoggingDatabase.sql中的sql語句錄入數據庫中的,有興趣的朋友可以研究一下。

下面的工作就容易了,首先我們要實例化一個LogEntry類用於存放日誌體:

            LogEntry logEntry = new LogEntry();

            logEntry.Message = ex.Message;

            logEntry.Message +=Environment.NewLine + "StackTrace:" + ex.StackTrace;

            logEntry.Message += Environment.NewLine + "TargetSite:" + ex.TargetSite;

            logEntry.TimeStamp = DateTime.Now;

            logEntry.Categories.Clear();

            logEntry.Categories.Add("Database");

這裏Categories中添加的"Database"就是Category Sources節點中的"Database"節點。最後使用Logger類中的靜態方法Write將日誌寫入數據庫中

Logger.Write(logEntry);

這裏如果添加多個Categories,日誌將寫入多個持久化設備中

發佈了71 篇原創文章 · 獲贊 5 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章