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