Я использую Microsoft Enterprise Library 5.0 для обработки исключений в asp.net. Ошибки сохраняются в средстве просмотра событий системы. Вместо средства просмотра событий мне нужно хранить эти ошибки в файле журнала (текстовом файле) с помощью Enterprise Library. Как я могу реализовать это?
Регистрация обработки исключений в плоском файле
Ответы (2)
Я предполагаю, что у вас есть такая конфигурация для журнала событий:
<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" />
Просто замените эту конфигурацию чем-то для плоского файла. Например.:
<add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="trace.log" />
А затем измените свои категории, чтобы использовать новый «Прослушиватель трассировки плоских файлов». Если вы не используете последнюю версию, вам необходимо изменить указанную выше версию с 5.0.505.0 на 5.0.414.0.
Кроме того, вы можете использовать инструмент конфигурации EntLibConfig.exe
, чтобы упростить внесение этих изменений, не беспокоясь о задействованном XML. Или используйте инструмент конфигурации для создания исходного XML, а затем вы можете вручную настроить XML в файле конфигурации.
Или, в качестве альтернативы, вы можете использовать Fluent API конфигурации для настройки ведения журнала с использованием кода вместо конфигурации.
В чем твоя проблема с этим?
По сути, вам нужен новый приемник с именем File, который записывает журнал в плоский файл и соответствующим образом его настраивает. Это все.
Вот хорошая статья, посвященная ведению журналов в Enterprise Library, хотя и немного устаревшая.
А вот примеры и практические занятия от Microsoft, который включает в себя также примеры ведения журнала.