簡體   English   中英

使用Enterprise Library進行異常處理日志記錄

[英]Exception Handling Logging using Enterprise Library

我是微軟企業庫的新手。 我目前正在探索使用Enterprise Library 5來記錄系統拋出的異常到文本文件中。

問題1

我在Microsoft.Practices.EnterpriseLibrary.Logging遇到了LogEntry ,它帶有ErrorMessagesMessage

我希望你們都能解釋哪些情況應該使用ErrorMessagesMessage 我目前找不到這兩個變量的任何定義。

如果我發現了異常,我應該將ex.Message分配給ErrorMessages還是Message


問題2

我還發現有Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging 我是否知道這是一種更正確的方法來記錄異常而不是使用Microsoft.Practices.EnterpriseLibrary.Logging

如果您的目的是處理/記錄異常,那么您應該使用異常處理塊( Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging是其中的一部分)。 EH Block允許您配置如何處理不同類型的異常並創建異常類別。 然后,當您需要處理異常時,您只需要調用:

ExceptionPolicy.HandleException( ex, <NameOfPolicy> );

該庫將負責其余部分,將輸出路由到正確的偵聽器。

此外,EH Block還具有內置的后備記錄功能。 假設您正在嘗試登錄數據庫,但無法訪問數據庫。 您可以使用回退配置EH塊(開箱即用它使用Windows事件系統)以及無法創建日志並將原始異常記錄到回退的事實。

可能為時已晚,但如果是在案件中它可以幫到某人。

您不應該直接使用Microsoft.Practices.EnterpriseLibrary.Logging來記錄錯誤。 它應該僅用於一般信息記錄。

使用Microsoft.Practices.EnterpriseLibrary.ExceptionHandlingMicrosoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging進行錯誤處理和錯誤記錄,並以此方式對其進行配置,以便它使用其中一個日志記錄策略來記錄錯誤。 在日志中寫入的內容取決於格式化程序的配置方式以及記錄位置取決於列表器。

對於第一個問題,你大多使用MessageErrorMessages是更多的額外信息。 EntLib ErrorMessages

對於第二個問題:

Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging

它位於Microsoft.Practices.EnterpriseLibrary.Logging之上,它主要將字符串格式化為可以登錄,因此使用它來記錄異常是可選的,取決於您的日志記錄策略。 例如,我使用Microsoft.Practices.EnterpriseLibrary.Logging來記錄所有內容,只是因為我更喜歡使用最少的外部引用,並且兩者之間的差異不是那么大。 LoggingExceptionHandler

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM