方法: トレース リスナーを作成し初期化するHow to: Create and Initialize Trace Listeners

System.Diagnostics.Debug クラスと System.Diagnostics.Trace クラスは、メッセージの受け取りと処理を実行する、リスナーと呼ばれるオブジェクトにメッセージを送ります。The System.Diagnostics.Debug and System.Diagnostics.Trace classes send messages to objects called listeners that receive and process these messages. トレースまたはデバッグを有効にすると、こうしたリスナーの 1 つである System.Diagnostics.DefaultTraceListener が自動的に作成および初期化されます。One such listener, the System.Diagnostics.DefaultTraceListener, is automatically created and initialized when tracing or debugging is enabled. Trace または Debug の出力を別のソースに送るには、別のトレース リスナーを作成して初期化する必要があります。If you want Trace or Debug output to be directed to any additional sources, you must create and initialize additional trace listeners.

作成するリスナーには、アプリケーションのニーズが反映されている必要があります。The listeners you create should reflect your application's needs. たとえば、すべてのトレース出力のテキスト レコードが必要である場合は、有効になったときにすべての出力を新しいテキスト ファイルに書き込む TextWriterTraceListener リスナーを作成します。For example, if you want a text record of all trace output, create a TextWriterTraceListener listener, which writes all output to a new text file when it is enabled. 一方、アプリケーションの実行時にのみ出力を表示する場合は、すべての出力をコンソール ウィンドウに送る ConsoleTraceListener リスナーを作成します。On the other hand, if you want to view output only during application execution, create a ConsoleTraceListener listener, which directs all output to a console window. EventLogTraceListener は、トレース出力をイベント ログに転送することができます。The EventLogTraceListener can direct trace output to an event log. 詳細については、「トレースリスナー」を参照してください。For more information, see Trace Listeners.

トレース リスナーは、アプリケーション構成ファイルまたはコードで作成できます。You can create trace listeners in an application configuration file or in your code. アプリケーション構成ファイルではコードを変更せずにトレース リスナーを追加、変更、または削除できるので、アプリケーション構成ファイルを使用することをお勧めします。We recommend the use of application configuration files, because they let you add, modify, or remove trace listeners without having to change your code.

構成ファイルを使用してトレース リスナーを作成して使用するにはTo create and use a trace listener by using a configuration file

  1. アプリケーション構成ファイルでトレース リスナーを宣言します。Declare your trace listener in your application configuration file. 作成しているリスナーで他のオブジェクトが必要な場合は、必要なオブジェクトも宣言します。If the listener you are creating requires any other objects, declare them as well. テキスト ファイル TextWriterOutput.log への書き込みを実行する myListener というリスナーの作成方法を次の例に示します。The following example shows how to create a listener called myListener that writes to the text file TextWriterOutput.log.

    <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>
    
  2. コードで Trace クラスを使用して、メッセージをトレース リスナーに書き込みます。Use the Trace class in your code to write a message to the trace listeners.

    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();
    

コードでトレース リスナーを作成して使用するにはTo create and use a trace listener in code

  • トレース リスナーを Listeners コレクションに追加し、トレース情報をリスナーに送ります。Add the trace listener to the Listeners collection and send trace information to the 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();
    

    - または- or -

  • リスナーがトレース出力を受け取らないようにするには、リスナーを Listeners コレクションに追加しないようにします。If you do not want your listener to receive trace output, do not add it to the Listeners collection. リスナー自体の出力メソッドを呼び出すことにより、Listeners コレクションから独立したリスナーを通じて出力を生成できます。You can emit output through a listener independent of the Listeners collection by calling the listener's own output methods. Listeners コレクションに属さないリスナーに行を書き込む方法を次の例に示します。The following example shows how to write a line to a listener that is not in the Listeners collection.

    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();
    

関連項目See also