Предположим, у меня есть файл конфигурации, который выглядит следующим образом:
...
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Warning,ActivityTracing" propagateActivity="true">
<listeners>
<add name="ServiceModelTraceListener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="ServiceModelTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="LogServer.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="ServiceModelTraceListener" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
При использовании этого конфигурационного файла каждое действие, выполняемое вызывающим абонентом со службой, и каждое соответствующее сообщение, отправленное в службу, будет записываться в файл svclog. Пока все хорошо.
Если я изменю 3-ю строку из вышеприведенного списка на <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">
(ActivityTracing
удалено), то в журнал заносятся только те действия, которые как минимум помечены как предупреждение об уровне. Но все равно каждое сообщение регистрируется ...
Так есть ли способ регистрировать только те сообщения, которые соответствуют тем действиям, которые являются хотя бы предупреждениями? Те сообщения, которые были успешными, не очень интересны в данный момент, но те сообщения, которые относятся к неудачным действиям, являются!