0

イベントログに例外を書き込むように例外処理アプリケーションブロックを構成しようとしています。

次の構成を作成しました。

<exceptionHandling>
    <exceptionPolicies>
        <add name="Default">
            <exceptionTypes>
                <add name="All Exceptions"
                     type="System.Exception, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                     postHandlingAction="NotifyRethrow">
                    <exceptionHandlers>
                        <add name="Logging Exception Handler"
                             type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                             logCategory="General"
                             eventId="100"
                             severity="Error"
                             title="Enterprise Library Exception Handling"
                             formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling"
                             priority="0" />
                    </exceptionHandlers>
                </add>
            </exceptionTypes>
        </add>
    </exceptionPolicies>
</exceptionHandling>

<loggingConfiguration name="Default"
                      tracingEnabled="true"
                      defaultCategory="General">
    <listeners>
        <add name="Event Log Listener"
             type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
             listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
             source="Enterprise Library Logging"
             formatter="Text Formatter"
             log=""
             machineName="."
             traceOutputOptions="None" />
    </listeners>
    <formatters>
        <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
             template="Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}"
             name="Text Formatter" />
    </formatters>
    <categorySources>
        <add switchValue="All" name="General">
            <listeners>
                <add name="Event Log Listener" />
            </listeners>
        </add>
    </categorySources>
    <specialSources>
        <allEvents switchValue="All" name="All Events" />
        <notProcessed switchValue="All" name="Unprocessed Category" />
        <errors switchValue="All" name="Logging Errors &amp; Warnings">
            <listeners>
                <add name="Event Log Listener" />
            </listeners>
        </errors>
    </specialSources>
</loggingConfiguration>

私は以下を使用してこの構成をテストしようとしました:

ExceptionPolicy.HandleException(new Exception("TEST"), "Default");

このコードは問題なく実行されますが、イベントログには何も書き込まれません。これは単なる構成エラーだと思いますが、原因を特定できていません。

何が間違っている可能性があるか、またはこれをデバッグする方法についての提案はありますか?

4

1 に答える 1

0

最新の Nuget リリースからリリース 5.0.414.0 に切り替えることで修正されました。

于 2012-05-01T15:14:08.150 に答える