У меня есть некоторые. Net WCF-сервисы. Для этих служб я настроил файл app.config для регистрации сообщений, отправленных и полученных в файле .svclog, который доступен для чтения с помощью «Инструмента просмотра служебных трасс» (SvcTraceViewer.exe). Этот инструмент визуально отображает файлы журнала, отображая обработанные сообщения SOAP..Net Журнал трассировки службы WCF с управлением файлами журналов (Rolling)
Я должен использовать прослушиватель System.Diagnostics.XmlWriterTraceListener, чтобы правильно форматировать файл .svclog для обработки с помощью средства просмотра трассировки служб.
Проблема заключается в том, что файл .svclog становится слишком большим. & Средство просмотра Trace Viewer становится непригодным из-за медленного времени отклика.
Средство просмотра Trace Viewer Tool предоставляет возможность разрешить открытие части файла журнала, если размер файла> 40 МБ, но это все еще слишком медленно. В файле app.config нет средства для настройки .svclog для автоматического создания нового файла каждый день или когда файл достигает определенного размера.
Существует прослушиватель текстовых журналов, называемый Microsoft.VisualBasic.Logging.FileLogTraceListener, который поддерживает logfilecreationschedule = «Ежедневное» свойство, которое ежедневно загружает файл журнала, однако полученный файл журнала из этого прослушивателя затруднен для лица, поддерживающего операцию для использования, поскольку записи журнала не отображаются хорошо, а большие документы xml способствуют путанице.
Что является лучшей практикой в этой области, похоже, что мне, возможно, придется написать собственное расширение журнала WCF, которое кажется излишним, чтобы справиться с отсутствием функции рулона журнала в встроенной System.Diagnostics. XmlWriterTraceListener log listener/appender.
Я также экспериментировал со сценарием, чтобы остановить приложение и переименовать файлы журнала, но это не представляется возможным, поскольку в Windows утилиты handle.exe и openfile не могут закрыть файл, открытый через сетевой ресурс, поэтому я не может переименовать/переместить старый файл журнала, если кто-то просматривает его через сетевой ресурс. В ближайшее время опубликует отдельный вопрос.
Thanks, Matt.
Хотя это выполнимо, вы не должны быть WCF трассировка включена все время. Он разработан как способ устранения неполадок и оказывает влияние на производительность. Отключить его в производственной среде - лучшая практика. –