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>