2014-02-14 5 views

ответ

4

Классы System.Diagnostics смотрят только на файл конфигурации приложения. Например. замечания раздел SourceSwitch говорит:

Чтобы настроить SourceSwitch, редактировать файл конфигурации, который соответствует имени приложения.

Если вы будете смотреть в код, вы увидите, что внутри эти классы используют статический DiagnosticConfiguration класс, который просто получает system.diagonostics раздел конфигурации из текущего app.config

НО вы можете переместить system.diagonostics configuratin раздел отдельный XML-файл. Просто укажите имя файла, в котором будет определен раздел:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.diagnostics configSource="diagnostics.xml"/> 
</configuration> 

diagnostics.xml

<system.diagnostics> 
    <sources> 
    <source name="foo" switchName="bar" 
      switchType="System.Diagnostics.SourceSwitch"> 
     <listeners> 
     <add name="console"/> 
     </listeners> 
    </source> 
    </sources> 
    <switches> 
    <add name="bar" value="Warning"/> 
    </switches> 
    <sharedListeners> 
    <add name="console" 
     type="System.Diagnostics.ConsoleTraceListener" initializeData="false"/> 
    </sharedListeners> 
    <trace autoflush="true" indentsize="4"> 
    <listeners> 
     <add name="console"/> 
    </listeners> 
    </trace> 
</system.diagnostics> 
Смежные вопросы