さまざまなレベルのメッセージを追跡できるSourceSwitchを利用できます。まず、いくつかの設定を追加することから始めますapp.config
<system.diagnostics>
<sources>
<source name="TraceTest" switchName="SourceSwitch"
switchType="System.Diagnostics.SourceSwitch">
<listeners>
<!-- choose one or use multiple TraceListeners -->
<add name="console" type="System.Diagnostics.ConsoleTraceListener"
initializeData="false"/>
<add name="file" type="System.Diagnostics.TextWriterTraceListener"
initializeData="error.log"/>
<remove name ="Default"/>
</listeners>
</source>
</sources>
<switches>
<!-- MSDN: 4 verbose Information, Information 3, Warning 2, Error 1, -->
<add name="SourceSwitch" value="Error"/>
</switches>
<trace autoflush="true" indentsize="4"/>
</system.diagnostics>
アプリケーション内では、app.config 内の定義された名前を参照するTraceSourceオブジェクトを使用して、メッセージを追跡できます。
TraceSource ts = new TraceSource("TraceTest");
ts.TraceEvent(TraceEventType.Information, 123, "event info");
ts.TraceEvent(TraceEventType.Error, 123, "event error");
ts.TraceEvent(TraceEventType.Warning, 123, "event warning");
ts.TraceInformation("any text");
ts.Flush();
ts.Close();
一般的な情報については、MSDNのHow to: Use TraceSource ...を参照してください。Dr. Google を使用して、この問題に関する非常に優れたブログ投稿を参照するSO で関連する質問を見つけました。
1つ指摘したいのは...
リスナーがトレース メッセージを書き込むレベルを変更するには
構成ファイルは、アプリケーションの初期化時にトレース ソースの設定を初期化します。これらの設定を変更するには、構成ファイルを変更してアプリケーションを再起動するか、TraceRefresh メソッドを使用してプログラムでアプリケーションを更新する必要があります。アプリケーションは、構成ファイルによって設定されたプロパティを動的に変更して、ユーザーが指定した設定をオーバーライドできます。たとえば、現在の構成設定に関係なく、重要なメッセージが常にテキスト ファイルに送信されるようにする必要がある場合があります。