1

エンタープライズライブラリ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}

イベントログエントリは「クリティカル」ではなく「エラー」としてログに記録されますが、実際にログに記録されるメッセージには「重大度:クリティカル」というテキストが含まれています。

独自の例外ハンドラー/フォーマッターを実際に作成しなくても、実際に例外をクリティカルとしてログに記録する方法に関するポインターはありますか?

4

1 に答える 1

5

表示されている動作は、.NETAPIの一部です。

EventLogへのログ記録に使用される EventLogEntryType列挙には、クリティカルのレベルまたは重大度はありません。TraceEventTypeは、エンタープライズライブラリと.NETトレースインフラストラクチャで使用され、重大度をサポートします。

ただし、System.Diagnostics.EventLogTraceListenerEventLogへのログ記録に使用されるの内部では、CriticalTraceEventTypeはErrorに変換されEventLogEntryTypeます。

イベントビューアにクリティカル用のフィルタがありますが、このレベルは低レベルのエラー用に予約されているようです。たとえば、カーネル関連。

于 2011-11-22T19:55:43.230 に答える