ОБНОВЛЕНИЕ 14/14/2011:
Говоря о поддержке Enterprise Library в версии 4.1, было добавлено исправление проблемы с прослушивателем трассировки плоских файлов при использовании олицетворения. Я использую олицетворение для своего веб-сервиса, но я использую Enterprise Library 3.1:
Взято из документации EntLib
4.1 (Изменения в блоке приложения регистрации)
"Добавлено: поддержка конфигурации для
отказ от олицетворения, возвращающийся
настройка по умолчанию была добавлена. это
исправляет след плоского файла
проблема слушателя при использовании в сети
приложение и когда олицетворение
включен. Чтобы отказаться от
режим по умолчанию для олицетворения,
установить новый
атрибут revertImpersonation для
ложный. По умолчанию установлено значение true.
Это поддерживает поддержку конфигурации,
поддержка времени разработки и управляемость
поддержка (как WMI, так и групповая политика). "
============================================ ==================================
В настоящее время у меня есть веб-служба WCF, которая регистрирует все вызовы параметров своего метода. Когда на веб-сервисе появляется большой трафик, ведение журнала полностью прекращается, и я получаю следующую ошибку при переходе на новый файл журнала. Ожидание большого трафика. Подробности ошибок приведены ниже.
Конфигурация:
Веб-служба WCF, работающая в Windows Server 2008 IIS 7.5
Использование Enterprise Library 3.1 для ведения журналов.
Ошибка: 6352: отметка времени:
8/4/2011 23:30:45 Сообщение: трассировка
LogSource 'Trace' не удалось.
Обработка для других источников будет
Продолжить. Смотрите сводную информацию
ниже для получения дополнительной информации. Должен
эта проблема сохраняется, остановите службу
и проверьте конфигурационные файлы
для возможных ошибок в
конфигурация категорий и
раковины.
Сводка для библиотеки предприятия
Дистрибьюторская служба:
==========================================
Сведения об исключении:
====================================== Тип исключения:
Сообщение System.NullReferenceException:
Ссылка на объект не установлена на
экземпляр объекта. Данные:
System.Collections.ListDictionaryInternal
TargetSite: Void
PerformRoll (System.DateTime) HelpLink:
NULL Источник:
Microsoft.Practices.EnterpriseLibrary.Logging
Подробная информация о StackTrace:
====================================== в
Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener.StreamWriterRollingHelper.PerformRoll (DateTime
rollDateTime) в
Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener.StreamWriterRollingHelper.RollIfNecessary ()
в
Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener.TraceData (TraceEventCache
eventCache, String source,
TraceEventType eventType, идентификатор Int32,
Данные объекта) в
Microsoft.Practices.EnterpriseLibrary.Logging.LogSource.TraceData (TraceEventType
eventType, Int32 id, LogEntry
logEntry, TraceListenerFilter
traceListenerFilter) в
Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter.ProcessLog (LogEntry
журнал)
Часть конфигурации. У меня 5 журналов error.log, general.log, trace.log, params.log, performance.log, все конфиги выглядят так:
<add fileName="D:\Logs\trace.log" rollSizeKB="1000" timeStampPattern="yyyy-MM-dd"
rollFileExistsBehavior="Increment" rollInterval="Day" formatter="Text Formatter"
header="----------------------------------------"
footer="----------------------------------------"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
traceOutputOptions="None"
type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
name="Rolling Flat-File Listener" />