2013-07-08 38 views
0

我已經配置企業庫來記錄數據到數據庫中,一切正常。這是CURENT記錄信息的樣子:添加額外的信息用於記錄數據與企業庫

時間戳:2013年6月19日上午07時10分01秒

類別:eConnect異常

優先級:0

事件ID: 100

嚴重性:錯誤

標題:企業庫異常處理

機:ISDC30517

應用領域:/ LM/W3SVC/23/ROOT-4-130160992152908413

的ProcessID:8808個

進程名稱:C:\程序文件(x86)\ IIS快遞\ iisexpress.exe

主題名稱:

的Win32的ThreadId:8952

擴展屬性:

這是在momment記錄我的異常代碼:

public void LogException(Exception exception) 
{ 
    ExceptionPolicy.HandleException(exception, "GeneralExceptionPolicy"); 
} 

,我已經運行生成數據庫表爲企業庫記錄對每個數據生成的默認腳本財產,我已經提到了一個新的專欄。

現在我想也可以添加額外的信息。目前我正在考慮添加獲取此異常的當前用戶的用戶名。

我搜索了很多,我似乎無法找到可以幫助我的事情。如何向記錄的消息添加其他信息?

回答

2

您可以將附加信息添加到Exception.Data屬性。這些值將被添加到LogEntry的ExtendedProperties中。然後可以將格式器配置爲在格式化的消息字符串中輸出特定的擴展特性鍵。請參閱:Exception.Data info is missing in EntLib log

這可能是最簡單的方法,但是信息被埋在數據庫表中的字符串中。

另一種方法是將數據直接添加到數據庫。這將涉及對開箱即用的數據庫模式和存儲過程的更改以及創建自定義跟蹤偵聽器。

  • 擴展屬性跟蹤偵聽器與定義異常處理程序包含了原木擴展屬性到一個單獨的擴展屬性表,允許所有擴展屬性寫入一個自定義跟蹤監聽器:您可以在Enterprise Library Sample Projects頁面發現兩種不同的設計。

  • 自定義數據庫跟蹤偵聽器示例使用CustomLogEntry將某些CustomData寫入日誌表上的自定義數據庫列。