方法 : トレース リスナーを作成し初期化する
System.Diagnostics.Debug クラスと System.Diagnostics.Trace クラスは、メッセージの受け取りと処理を行うリスナーと呼ばれるオブジェクトに、メッセージを送ります。 トレースまたはデバッグを有効にすると、こうしたリスナーの 1 つである System.Diagnostics.DefaultTraceListener が自動的に作成および初期化されます。 Trace または Debug の出力を別のソースに送るには、別のトレース リスナーを作成して初期化する必要があります。
作成するリスナーには、アプリケーションのニーズが反映されている必要があります。 たとえば、すべてのトレース出力のテキスト レコードが必要である場合は、有効になったときにすべての出力を新しいテキスト ファイルに書き込む TextWriterTraceListener リスナーを作成します。 また、アプリケーションの実行時に出力を表示するだけの場合は、すべての出力をコンソール ウィンドウに送る ConsoleTraceListener リスナーを作成します。 EventLogTraceListener はトレース出力をイベント ログに送ります。 詳細については、「トレース リスナー」を参照してください。
トレース リスナーは、アプリケーション構成ファイルまたはコードで作成できます。 アプリケーション構成ファイルではコードを変更せずにトレース リスナーを追加、変更、または削除できるので、アプリケーション構成ファイルを使用することをお勧めします。
構成ファイルを使用してトレース リスナーを作成し、使用するには
アプリケーション構成ファイルでトレース リスナーを宣言します。 作成しているリスナーで他のオブジェクトが必要な場合は、必要なオブジェクトも宣言します。 テキスト ファイル TextWriterOutput.log に書き込みを行う myListener というリスナーの作成方法を次の例に示します。
<configuration> <system.diagnostics> <trace autoflush="false" indentsize="4"> <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" /> <remove name="Default" /> </listeners> </trace> </system.diagnostics> </configuration>
コードで Trace クラスを使用して、メッセージをトレース リスナーに書き込みます。
Trace.TraceInformation("Test message.") ' You must close or flush the trace to empty the output buffer. Trace.Flush()
Trace.TraceInformation("Test message."); // You must close or flush the trace to empty the output buffer. Trace.Flush();
コードでトレース リスナーを作成して使用するには
トレース リスナーを Listeners コレクションに追加し、トレース情報をリスナーに送ります。
Trace.Listeners.Add(New TextWriterTraceListener("TextWriterOutput.log", "myListener")) Trace.TraceInformation("Test message.") ' You must close or flush the trace to empty the output buffer. Trace.Flush()
Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); Trace.TraceInformation("Test message."); // You must close or flush the trace to empty the output buffer. Trace.Flush();
または
リスナーがトレース出力を受け取らないようにするには、トレース リスナーを Listeners コレクションに追加しません。 リスナー自体の出力メソッドを呼び出すことにより、Listeners コレクションから独立したリスナーを通じて出力を生成できます。 Listeners コレクションに属さないリスナーに行を書き込む方法を次の例に示します。
Dim myListener As New TextWriterTraceListener("TextWriterOutput.log", "myListener") myListener.WriteLine("Test message.") ' You must close or flush the trace listener to empty the output buffer. myListener.Flush()
TextWriterTraceListener myListener = new TextWriterTraceListener("TextWriterOutput.log", "myListener"); myListener.WriteLine("Test message."); // You must close or flush the trace listener to empty the output buffer. myListener.Flush();
参照
処理手順
方法 : アプリケーション コードにトレース ステートメントを追加する