Ведение журнала корпоративной библиотеки - всегда ведение журнала с использованием defaultCategory и без учета categorySources, определенных в web.config

MSEL 5 работал для нас как прелесть, но в последнее время я пытался настроить дополнительные "categorySources", но результат всегда одинаков. Запись в журнале всегда выполняется с использованием "defaultCategory", и в файле журнала регистрируется следующая ошибка: "Сообщение: явного сопоставления для категорий" AppLogGen "не существует. Запись журнала была:"

Запись web.config "loggingConfiguration"

  <loggingConfiguration name="" tracingEnabled="true" defaultCategory="AppLog">
<listeners>
  <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="c:\LoggingTrace\trace.log" formatter="Text Formatter"
    rollFileExistsBehavior="Increment" rollInterval="Midnight" rollSizeKB="10000"
    timeStampPattern="dd-MM-yyyy" traceOutputOptions="None" filter="All" />
  <add name="Flat File Trace Listener Login" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="c:\LoggingTrace\traceLogin.log" formatter="Text Formatter Login"
    rollFileExistsBehavior="Increment" rollInterval="Midnight" rollSizeKB="10000"
    timeStampPattern="dd-MM-yyyy" traceOutputOptions="None" filter="All" />
</listeners>
<formatters>
  <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Format 1:: Timestamp: {timestamp(local)}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;"
    name="Text Formatter" />
  <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Format 2:: Timestamp: {timestamp(local)}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;"
    name="Text Formatter Login" />
</formatters>
<categorySources>
  <add switchValue="All" name="InfinityWeb">
    <listeners>
      <add name="Flat File Trace Listener" />
    </listeners>
  </add>
  <add switchValue="All" name="AppLog">
    <listeners>
      <add name="Flat File Trace Listener Login" />
    </listeners>
  </add>
  <add switchValue="All" name="AppLogGen">
    <listeners>
      <add name="Flat File Trace Listener Login" />
    </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="Flat File Trace Listener" />
    </listeners>
  </errors>
</specialSources>

Код, запись в файл журнала

            //logWriter.Write(message, category, priority, eventId, (TraceEventType)severity, DefaultTitle, null);
        LogEntry logEntry = new LogEntry();
        logEntry.Categories.Add("AppLogGen");
        logEntry.Message = "Override " + message;

        logWriter.Write(logEntry);

Результат в файле журнала

Timestamp: 9/6/2012 1:15:23 PM

Сообщение: не существует явного сопоставления для категорий "AppLogGen". Запись в журнале была:

Метка времени: 9.09.2012 7:45:23

Сообщение: Переопределение входа успешно для UserId:Admin

Категория: AppLogGen

Серьезность: Информация Категория: AppLog .,, Расширенные свойства:

Независимо от того, что я делаю, при ведении журнала всегда используется источник категории, указанный в defaultCategory. Уже провел два дня на этом. Помогите!

1 ответ

<allEvents switchValue="All" name="All Events" />
    <listeners>
      <add name="Flat File Trace Listener" />
    </listeners>

Эти строки кода имеют проблему. Слушатель "Flat File Trace" является слушателем по умолчанию для всех событий. поэтому любое событие будет прослушиваться по умолчанию. Вы должны проверить, комментируя этого слушателя.

Другие вопросы по тегам