Классы 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>