Есть ли способ выполнить очистку трассировки WCF по требованию?
Вопрос
Точно так же, как есть команда для очистки журналов IIS7:
netsh http flush logbuffer
Мне интересно, существует ли аналогичная команда для очистки журнала трассировки WCF по требованию.
Решение
Один из способов - выполнить сброс IIS, но на самом деле это возможно только при отладке в окне developmnet.
Другие советы
Установка autoflush="true"
в вашем .config
file гарантирует, что источники трассировки будут сбрасываться на диск после каждой трассировки.
Ниже приведен пример конфигурационного файла с autoflush="true"
:
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener"
initializeData="e2eTraceTest.xml" />
</listeners>
</source>
</sources>
<trace autoflush="true" />
</system.diagnostics>
</configuration>
Кроме того, если вы случайно захотите сохранить свою трассировку WCF в базе данных, возможно, вы захотите ознакомиться с этим сообщением:
- Переполнение стека:Как я могу включить ведение журнала WCF, чтобы он записывал данные в базу данных?'
Это позволило бы вам просматривать вашу трассировку WCF в режиме реального времени, не удаляя ее.