2012-05-01 2 views
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"); 

Этот код выполняет без каких-либо проблем, но ничего не writted в журнал событий. Я подозреваю, что это просто ошибка конфигурации, но я не смог точно определить, что вызывает это.

Любые предложения о том, что может быть неправильным или как отладить это?

ответ

0

Исправлено путем переключения с последней версии Nuget для выпуска 5.0.414.0.

Смежные вопросы