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} 

이벤트 로그 항목이 "오류"로 기록됩니다, "중요"하지 그러나 실제로 기록 된 메시지에는 "심각도 : 위험"이라는 텍스트가 포함되어 있습니다.

실제로 ac를 사용하지 않고도 Critical으로 예외를 기록 할 수있는 방법에 대한 모든 지침 tually 내 예외 처리기/포맷터를 작성합니까?

답변

4

표시되는 동작은 .NET API의 일부입니다.

EventLog에 로그온하는 데 사용되는 EventLogEntryType Enumeration에는 위험 등급 또는 심각도가 없습니다. .NET 추적 인프라와 함께 Enterprise Library에서 사용하는 TraceEventType은 위험 등급을 지원합니다.

그러나 EventLog에 기록하는 데 사용되는 System.Diagnostics.EventLogTraceListener 내부의 치명적인 TraceEventType은 오류 EventLogEntryType으로 변환됩니다.

이벤트 뷰어에서 이고 중요하지만이 수준은 낮은 수준의 오류를 위해 예약되어있는 것 같습니다. 예 : 커널 관련.

+0

나의 목적을 위해, Enumeration에 정의 된 레벨을 사용하면 충분합니다. 안타깝게도 실제로 배타적으로 정의한 것을 사용하는 것은 허용되지 않습니다. – iggymoran

관련 문제