Корпоративная библиотека неправильно регистрирует серьезность - PullRequest
1 голос
/ 22 ноября 2011

У меня проблема с корпоративной библиотекой 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}

Запись в журнале событий регистрируется как «Ошибка», а не «Критическая», однако фактически зарегистрированное сообщение содержит текст «Серьезность: Критическая»

Есть ли какие-либо указатели на то, как я могу зарегистрировать исключение как критическое без необходимости писать собственный обработчик / средство форматирования исключений?

1 Ответ

5 голосов
/ 22 ноября 2011

Поведение, которое вы видите, является частью .NET API.

В EventLogEntryType Enumeration , который используется для входа в EventLog, нет уровня или серьезности критических значений. TraceEventType, который используется Enterprise Library, а также инфраструктурой трассировки .NET, поддерживает критическую серьезность.

Однако внутри System.Diagnostics.EventLogTraceListener, который используется для входа в EventLog, Критический TraceEventType преобразуется в Ошибка EventLogEntryType.

В средстве просмотра событий является фильтром для критического, но, похоже, этот уровень зарезервирован для ошибок низкого уровня. Например. ядро связано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...