Только ошибки и предупреждения по электронной почте с помощью Microsoft Logging Application Block 3.1.0.0 - PullRequest
0 голосов
/ 28 июля 2010

Что я делаю не так?

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

Примечание. С настройками smtp проблем не возникает, потому что я получаю электронные письма о событиях, если добавляю слушателя в «Общие» и «Все события» в источниках категории.

Вот мой конфиг: (я использую Microsoft.Practices.EnterpriseLibrary.Logging 3.1.0.0)

    <loggingConfiguration name="Logging Application Block" tracingEnabled="true" defaultCategory="General" logWarningsWhenNoCategoriesMatch="false">
    <listeners>
      <add databaseInstanceName="LOGGING_DB" writeLogStoredProcName="WriteLog"
              addCategoryStoredProcName="AddCategory" formatter="Text Formatter"
              listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
              traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
              name="Database Trace Listener" />

      <add toAddress="jafet@jafet.com" fromAddress="jafet@jafet.com" subjectLineStarter="My App" subjectLineEnder="QA" smtpServer="SMTP1.jafet.com" smtpPort="25" formatter="Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.EmailTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.EmailTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" name="Email TraceListener"/>
      <add source="My Application" formatter="Text Formatter" log="" machineName="." listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" name="Event Log Destination"/>
    </listeners>
    <formatters>
      <add template="Timestamp: {timestamp}&#xA;Message: {message}&#xA;Category: {category}&#xA;Priority: {priority}&#xA;EventId: {eventid}&#xA;Severity: {severity}&#xA;Title:{title}&#xA;Machine: {machine}&#xA;Application Domain: {appDomain}&#xA;Process Id: {processId}&#xA;Process Name: {processName}&#xA;Win32 Thread Id: {win32ThreadId}&#xA;Thread Name: {threadName}&#xA;Extended Properties: {dictionary({key} - {value}&#xA;)}" type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" name="Text Formatter"/>
    </formatters>
    <categorySources>
      <add switchValue="All" name="General">
        <listeners>
          <add name="Event Log Destination"/>
          <add name="Database Trace Listener" />
        </listeners>
      </add>
    </categorySources>
    <specialSources>
      <allEvents switchValue="All" name="All Events">
        <listeners>
          <add name="Event Log Destination"/>
          <add name="Database Trace Listener" />
        </listeners>
      </allEvents>
      <notProcessed switchValue="All" name="Unprocessed Category"/>
      <errors switchValue="All" name="Logging Errors &amp; Warnings">
        <listeners>
          <add name="Database Trace Listener" />
          <add name="Event Log Destination"/>
          <add name="Email TraceListener"/>
        </listeners>
      </errors>
    </specialSources>
  </loggingConfiguration>

1 Ответ

1 голос
/ 03 января 2011

Я знаю, что этот ответ очень поздно ...

Я тоже столкнулся с той же проблемой.Я только что прочитал здесь (http://www.thejoyofcode.com/Log_Event_to_Listener_Routing_in_Enterprise_Library.aspx), что специальный источник ошибок и предупреждений предназначен для внутренних ошибок журналирования, например, если регистратор не может войти в БД из-за разрыва соединения с БД. Если вы хотите регистрировать ошибки приложения, создайтеотдельную категорию и войдите в нее.

Приветствия, Махеш

...