0

我遇到了企業庫5的問題。它向事件日誌寫入了我希望它寫入的所有信息,但是,它並不尊重我配置的嚴重性設置。企業庫沒有正確記錄嚴重性

我的異常處理配置塊看起來是這樣的:

<exceptionHandlers> 
    <add name="Logging Exception Handler" 
     type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging...," 
     logCategory="General" 
     eventId="10000" 
     severity="Critical" 
     title="My unknown error" 
     formatterType="Micros...ExceptionFormatter, Micros...ExceptionHandling" 
     priority="0" /> 
</exceptionHandlers> 

我的事件日誌,監聽器模板開頭:

Severity: {severity}{newline} 

事件日誌項記錄爲「錯誤」,而不是「關鍵」 ,但是實際記錄的消息包含文本「嚴重性:嚴重」

任何指示器,可以將異常實際記錄爲Critical,而不必交流真的寫我自己的異常處理程序/格式化程序?

回答

4

您看到的行爲是.NET API的一部分。

用於登錄到EventLog的EventLogEntryType Enumeration中沒有關鍵級別或嚴重級別。 Enterprise Library使用的TraceEventType以及.NET跟蹤基礎結構確實支持Critical嚴重性。

但是,在用於登錄到EventLog的System.Diagnostics.EventLogTraceListener中,Critical TraceEventType被轉換爲錯誤EventLogEntryType

在事件查看器過濾器的關鍵,但它似乎是這個級別保留爲低級別的錯誤。例如。內核相關。

+0

對我而言,使用枚舉中定義的級別對於現在來說已經足夠了。可惜它不允許你使用他們實際上定義的那些東西。 – iggymoran