Загрузка конфигурации для System.Diagnostics.TraceSource из файла XML
В log4net можно выбирать между загрузкой конфигурации из app.config
или из произвольного XML-файла.
Можно ли загрузить конфигурацию для System.Diagnostics.TraceSource
из произвольного XML-файла?
1 ответ
Классы System.Diagnostics смотрят только на файл конфигурации приложения. Например, в разделе замечаний SourceSwitch говорится:
Чтобы настроить SourceSwitch, отредактируйте файл конфигурации, который соответствует имени вашего приложения.
Если вы посмотрите на код, вы увидите, что внутренне эти классы используют статические DiagnosticConfiguration
класс, который просто получает system.diagonostics
раздел конфигурации из текущего app.config
НО вы можете двигаться system.diagonostics
Конфигурационный раздел для отдельного 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>