log4net では、設定を からロードするapp.configか、任意の xml ファイルからロードするかを選択できます。
System.Diagnostics.TraceSourceの構成を任意の xml ファイルからロードすることは可能ですか?
log4net では、設定を からロードするapp.configか、任意の xml ファイルからロードするかを選択できます。
System.Diagnostics.TraceSourceの構成を任意の xml ファイルからロードすることは可能ですか?
System.Diagnostics クラスは、アプリケーション構成ファイルのみを調べます。たとえば、 SourceSwitchの備考セクションには次のように記載されています。
SourceSwitch を構成するには、アプリケーションの名前に対応する構成ファイルを編集します。
コードを調べると、これらのクラスが内部的に静的クラスを使用し、現在の app.config から構成セクションをDiagnosticConfiguration取得するだけであることがわかります。system.diagonostics
ただし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>