CLR の一部を形成するトレース フレームワークにフックすることができます。http://www.chaosink.co.uk/files/tracing.zipのような単純なクラスを使用すると、診断情報を選択的にログに記録できます。それを使用するには、クラスをアプリケーションに追加します。次のように、クラスでトレーサーのインスタンスを作成します。
private Tracing trace = new Tracing("My.Namespace.Class");
次を使用して呼び出します。
MyClass()
{
trace.Verbose("Entered MyClass");
int x = 12;
trace.Information("X is: {0}", x);
trace.Verbose("Leaving MyClass");
}
組み込みのトレース フレームワークには、次の 4 つのレベルの情報があります。
Verbose - プログラムの流れをログに記録する
情報 - 関心のある特定の情報をモニターに記録する
警告 - 無効な状態または回復可能な例外をログに記録するには
エラー - 回復不能な例外または状態をログに記録するには
アプリケーションから情報にアクセスするには、app.config (または web.config) に次を追加します。
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\mylogfile.log" />
</listeners>
</trace>
<switches>
<add name="My.Namespace.Class" value="4"/>
</switches>
</system.diagnostics>
イベントログやその他の関心のある場所に公開するためのリスナーをアタッチすることもできます。トレース フレームワークの詳細については、次の URL を参照してください。
http://msdn.microsoft.com/en-us/library/ms733025.aspx