ConsoleTraceListener クラス

定義

トレース出力またはデバッグ出力を、標準出力と標準エラー出力ストリームのいずれかに転送します。

public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
    inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
継承

次のコード例では、2 つのパブリック メソッドを持つ クラスで構成されるコンソール アプリケーションを実装します。

メソッドは Main 、コマンド ライン引数を調べ、トレース出力を標準エラー ストリームまたは標準出力ストリームに転送するかどうかを決定します。 Mainは、指定されたConsole出力ストリームの オブジェクトを作成して初期化ConsoleTraceListenerし、このオブジェクトをトレース リスナー コレクションに追加します。 次に、 メソッドを WriteEnvironmentInfoToTrace 呼び出し、実行環境とトレース リスナー構成に関する詳細をトレース出力に書き込みます。

サンプル アプリケーションを実行すると、環境とトレース構成の詳細が、 オブジェクトを介して指定されたコンソール出力ストリームに ConsoleTraceListener 書き込まれます。

// Define the TRACE directive, which enables trace output to the
// Trace.Listeners collection. Typically, this directive is defined
// as a compilation argument.
#define TRACE
using System;
using System.Diagnostics;

public class ConsoleTraceSample
{

    // Define a simple method to write details about the current executing
    // environment to the trace listener collection.
    public static void WriteEnvironmentInfoToTrace()
    {

        string methodName = "WriteEnvironmentInfoToTrace";

        Trace.Indent();
        Trace.WriteLine(DateTime.Now.ToString() + " - Start of " + methodName);
        Trace.Indent();

        // Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " + System.Environment.OSVersion.ToString());
        Trace.WriteLine("Computer name: " + System.Environment.MachineName);
        Trace.WriteLine("User name: " + System.Environment.UserName);
        Trace.WriteLine("CLR runtime version: " + System.Environment.Version.ToString());
        Trace.WriteLine("Command line: " + System.Environment.CommandLine);

        // Enumerate the trace listener collection and
        // display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " + Trace.Listeners.Count.ToString());

        foreach (TraceListener tl in Trace.Listeners)
        {
            Trace.WriteLine("Trace listener name = " + tl.Name);
            Trace.WriteLine("               type = " + tl.GetType().ToString());
        }

        Trace.Unindent();
        Trace.WriteLine(DateTime.Now.ToString() + " - End of " + methodName);
        Trace.Unindent();
    }

    // Define the main entry point of this class.
    // The main method adds a console trace listener to the collection
    // of configured trace listeners, then writes details on the current
    // executing environment.
    public static void Main(string[] CmdArgs)
    {

        // Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - Start of Main");

        // Define a trace listener to direct trace output from this method
        // to the console.
        ConsoleTraceListener consoleTracer;

        // Check the command line arguments to determine which
        // console stream should be used for trace output.
        if ((CmdArgs.Length>0)&&(CmdArgs[0].ToString().ToLower().Equals("/stderr")))
            // Initialize the console trace listener to write
            // trace output to the standard error stream.
        {
            consoleTracer = new ConsoleTraceListener(true);
        }
        else
        {
            // Initialize the console trace listener to write
            // trace output to the standard output stream.
            consoleTracer = new ConsoleTraceListener();
        }
        // Set the name of the trace listener, which helps identify this
        // particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer";

        // Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Starting output to trace listener.");

        // Add the new console trace listener to
        // the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer);

        // Call a local method, which writes information about the current
        // execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace();

        // Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Ending output to trace listener.");

        // Flush any pending trace messages, remove the
        // console trace listener from the collection,
        // and close the console trace listener.
        Trace.Flush();
        Trace.Listeners.Remove(consoleTracer);
        consoleTracer.Close();

        // Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - End of Main");

        // Close all other configured trace listeners.
        Trace.Close();
    }
}
' Define the TRACE constant, which enables trace output to the 
' Trace.Listeners collection. Typically, this constant is defined
' as a compilation argument.
#Const TRACE = True

Imports System.Diagnostics

Public Class ConsoleTraceSample

    ' Define a simple method to write details about the current executing 
    ' environment to the trace listener collection.
    Public Shared Sub WriteEnvironmentInfoToTrace()

        Dim methodName As String = "WriteEnvironmentInfoToTrace"

        Trace.Indent()
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of " & methodName)
        Trace.Indent()

        ' Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " & _
            System.Environment.OSVersion.ToString())
        Trace.WriteLine("Computer name: " & System.Environment.MachineName)
        Trace.WriteLine("User name: " & System.Environment.UserName)
        Trace.WriteLine("CLR version: " & System.Environment.Version.ToString)
        Trace.WriteLine("Command line: " & System.Environment.CommandLine)

        ' Enumerate the trace listener collection and 
        ' display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " & _
            Trace.Listeners.Count.ToString())

        Dim tl As TraceListener
        For Each tl In Trace.Listeners
            Trace.WriteLine("Trace listener name = " & tl.Name)
            Trace.WriteLine("               type = " & tl.GetType().ToString())
        Next tl

        Trace.Unindent()
        Trace.WriteLine(DateTime.Now.ToString() & " - End of " & methodName)
        Trace.Unindent()

    End Sub

    ' Define the main entry point of this class.
    ' The main method adds a console trace listener to the collection
    ' of configured trace listeners, then writes details on the current
    ' executing environment.
    Public Shared Sub Main(ByVal CmdArgs() As String)

        ' Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of Main")

        ' Define a trace listener to direct trace output from this method
        ' to the console.
        Dim consoleTracer As ConsoleTraceListener

        ' Check the command line arguments to determine which
        ' console stream should be used for trace output.
        If (CmdArgs.Length > 0) AndAlso _
           (CmdArgs(0).ToLower.Equals("/stderr")) Then
            ' Initialize the console trace listener to write
            ' trace output to the standard error stream.
            consoleTracer = New ConsoleTraceListener(True)
        Else
            ' Initialize the console trace listener to write
            ' trace output to the standard output stream.
            consoleTracer = New ConsoleTraceListener
        End If
        ' Set the name of the trace listener, which helps identify this 
        ' particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer"

        ' Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
             consoleTracer.Name & "] - Starting output to trace listener.")

        ' Add the new console trace listener to 
        ' the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer)

        ' Call a local method, which writes information about the current 
        ' execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace()

        ' Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
            consoleTracer.Name & "] - Ending output to trace listener.")

        ' Flush any pending trace messages, remove the 
        ' console trace listener from the collection,
        ' and close the console trace listener.
        Trace.Flush()
        Trace.Listeners.Remove(consoleTracer)
        consoleTracer.Close()

        ' Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() + " - End of Main")

        ' Close all other configured trace listeners.
        Trace.Close()

    End Sub

End Class

注釈

クラスを ConsoleTraceListener 使用して、トレース メッセージとデバッグ メッセージをコンソールに書き込みます。 オブジェクトを初期化して、 ConsoleTraceListener ストリームまたはストリームに Console.Out トレース メッセージを Console.Error 書き込むことができます。

重要

この型は IDisposable インターフェイスを実装します。 型の使用が完了したら、直接的または間接的に型を破棄する必要があります。 型を直接破棄するには、 ブロックでそのメソッドをtry/catch呼び出します。Dispose 間接的に型を破棄するには、using (C# の場合) または Using (Visual Basic 言語) などの言語構成要素を使用します。 詳細については、IDisposable インターフェイスに関するトピック内の「IDisposable を実装するオブジェクトの使用」セクションを参照してください。

トレースとデバッグの出力が有効になっている場合、ConsoleTraceListenerメッセージは指定されたSystem.Consoleストリームに書き込まれます。これは、 メソッドまたは Console.WriteLine メソッドを使用してメッセージを書き込む方法とConsole.Write似ています。 コンソール アプリケーションでは、 System.Console 出力ストリームとエラー ストリームが既存のコンソール ウィンドウにメッセージを書き込むか、ストリームをリダイレクトしてインスタンスに System.IO.TextWriter 書き込むことができます。

Note

Windows ベースのアプリケーションのようにコンソールが存在しない場合、コンソールに書き込まれたメッセージは表示されません。

、、または をConsoleTraceListener介してTraceSourceTrace書き込まれたメッセージをコンソールに書き込む場合は、適切なListenersコレクションに オブジェクトを追加Debugします。 さらに、 メソッドまたは Trace.WriteLine メソッドを使用して、コンソールに直接メッセージをTrace.Write書き込むことができます。

Note

クラスと Trace クラスはDebug、それぞれのListenersプロパティを介してアクセスされる同じTraceListenerCollectionコレクションを共有します。 これらのクラスのいずれかを使用してオブジェクトをコレクションに追加 ConsoleTraceListener すると、もう一方のクラスは自動的に同じリスナーを使用します。

ほとんどのコンパイラでは、条件付きコンパイル フラグを使用してトレースとデバッグの出力を有効にします。 トレースまたはデバッグを有効にしない場合、 クラスと System.Diagnostics.Trace クラスを介してSystem.Diagnostics.Debug書き込まれたメッセージは実質的に無視されます。 トレース出力とデバッグ出力を有効にする構文はコンパイラ固有です。C# または Visual Basic 以外のコンパイラを使用する場合は、コンパイラのドキュメントを参照してください。

  • C# でデバッグを有効にするには、コードをコンパイルするときにコンパイラ コマンド ラインに /d:DEBUGフラグを追加するか、ファイルの先頭 #define DEBUG を追加します。 Visual Basic で、コンパイラ コマンド ラインに /d:DEBUG=True フラグを追加します。

  • C# でトレースを有効にするには、コードをコンパイルするときにコンパイラ コマンド ラインに /d:TRACE フラグを追加するか、ファイルの先頭 #define TRACE を追加します。 Visual Basic で、コンパイラ コマンド ラインに /d:TRACE=True フラグを追加します。

コード内の ConsoleTraceListener コレクションに オブジェクトを Listeners 追加できます。 または、.NET Framework アプリの場合は、アプリケーション構成ファイルをConsoleTraceListener使用してコレクションに Listeners オブジェクトを追加できます。 コードに オブジェクトを ConsoleTraceListener 追加して、特定のコード セクションまたは実行パスのメッセージを書き込みます。 ConsoleTraceListenerアプリケーション構成ファイルに オブジェクトを追加して、アプリケーションの実行中にすべてのトレース メッセージとデバッグ メッセージをコンソールに転送します。

特定のコード セクションのトレース メッセージとデバッグ メッセージをコンソールに書き込むには、オブジェクトを ConsoleTraceListener 初期化してコレクションに Listeners 追加します。 または Debug クラスを使用して、メッセージを含むコードのセクションをTraceインストルメント化します。 コード セクションの最後で、 コレクションから オブジェクトをConsoleTraceListenerListeners削除し、 で メソッドをCloseConsoleTraceListener呼び出します。

.NET Framework アプリの場合、アプリケーションの実行中にすべてのトレース メッセージとデバッグ メッセージをコンソールに転送するには、アプリケーション構成ファイルに オブジェクトを追加ConsoleTraceListenerします。 次の例では、 という名前configConsoleListenerConsoleTraceListener オブジェクトを コレクションにListeners追加します。

<configuration>  
  <system.diagnostics>  
    <trace autoflush="false" indentsize="4">  
      <listeners>  
        <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />  
      </listeners>  
    </trace>  
  </system.diagnostics>  
 </configuration>  

アプリケーション構成ファイルでのトレース リスナーの追加の詳細については、「リスナー>」を参照してください<

コンストラクター

ConsoleTraceListener()

標準出力ストリームへのトレース出力を指定して、ConsoleTraceListener クラスの新しいインスタンスを初期化します。

ConsoleTraceListener(Boolean)

トレース出力を標準出力ストリームまたは標準エラー ストリームに書き込むためのオプションを指定して、ConsoleTraceListener クラスの新しいインスタンスを初期化します。

プロパティ

Attributes

アプリケーション構成ファイルに定義されているトレース リスナーのカスタム属性を取得します。

(継承元 TraceListener)
Filter

トレース リスナーのトレース フィルターを取得または設定します。

(継承元 TraceListener)
IndentLevel

インデント レベルを取得または設定します。

(継承元 TraceListener)
IndentSize

1 つのインデントに含まれるスペースの数を取得または設定します。

(継承元 TraceListener)
IsThreadSafe

トレース リスナーがスレッド セーフかどうかを示す値を取得します。

(継承元 TraceListener)
Name

この TraceListener の名前を取得または設定します。

(継承元 TraceListener)
NeedIndent

出力にインデントを設定するかどうかを示す値を取得または設定します。

(継承元 TraceListener)
TraceOutputOptions

トレース出力オプションを取得または設定します。

(継承元 TraceListener)
Writer

トレース出力またはデバッグ出力を受信するテキスト ライターを取得または設定します。

(継承元 TextWriterTraceListener)

メソッド

Close()

このトレース リスナーに指定されたストリームへの出力を閉じます。

Close()

Writer を終了して、トレース出力またはデバッグ出力を受信しないようにします。

(継承元 TextWriterTraceListener)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

TraceListener によって使用されているすべてのリソースを解放します。

(継承元 TraceListener)
Dispose(Boolean)

この TextWriterTraceListener オブジェクトを破棄します。

(継承元 TextWriterTraceListener)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Fail(String)

TraceListener クラスを実装した場合、作成したリスナーにエラー メッセージを出力します。

(継承元 TraceListener)
Fail(String, String)

TraceListener クラスを実装した場合、作成したリスナーにエラー メッセージと詳細エラー メッセージを出力します。

(継承元 TraceListener)
Flush()

Writer 用の出力バッファーをフラッシュします。

(継承元 TextWriterTraceListener)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
互換性のために残されています。

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetSupportedAttributes()

トレース リスナーによってサポートされるカスタム属性を取得します。

(継承元 TraceListener)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
互換性のために残されています。

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

トレース情報、データ オブジェクト、およびイベント情報をリスナー固有の出力に書き込みます。

(継承元 TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

トレース情報、データ オブジェクトの配列、およびイベント情報をリスナー固有の出力に書き込みます。

(継承元 TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

トレース情報およびイベント情報をリスナー固有の出力に書き込みます。

(継承元 TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

トレース情報、メッセージ、およびイベント情報をリスナー固有の出力に書き込みます。

(継承元 TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

トレース情報、オブジェクトの書式付き配列、およびイベント情報をリスナー固有の出力に書き込みます。

(継承元 TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

トレース情報、メッセージ、関連するアクティビティ ID、およびイベント情報をリスナー固有の出力に書き込みます。

(継承元 TraceListener)
Write(Object)

オブジェクトの ToString() メソッドの値を、TraceListener クラスを実装した時に作成したリスナーに書き込みます。

(継承元 TraceListener)
Write(Object, String)

カテゴリ名と、オブジェクトの ToString() メソッドの値を、TraceListener クラスを実装するときに作成したリスナーに書き込みます。

(継承元 TraceListener)
Write(String)

このインスタンスの Writer にメッセージを書き込みます。

(継承元 TextWriterTraceListener)
Write(String, String)

TraceListener クラスを実装した時に作成したリスナーにカテゴリ名とメッセージを書き込みます。

(継承元 TraceListener)
WriteIndent()

このクラスの実装時に作成したリスナーにインデントを書き込み、NeedIndent プロパティを false にリセットします。

(継承元 TraceListener)
WriteLine(Object)

TraceListener クラスの実装時に作成したリスナーにオブジェクトの ToString() メソッドの値と行終端記号を書き込みます。

(継承元 TraceListener)
WriteLine(Object, String)

TraceListener クラスの実装時に作成したリスナーにカテゴリ名、オブジェクトの ToString() メソッドの値、および行終端記号を書き込みます。

(継承元 TraceListener)
WriteLine(String)

このインスタンスの Writer にメッセージを書き込み、続けて行終端記号を書き込みます。 既定の行終端記号は、キャリッジ リターンの次に改行が付いた形です (\r\n)。

(継承元 TextWriterTraceListener)
WriteLine(String, String)

TraceListener クラスの実装時に作成したリスナーにカテゴリ名、メッセージ、および行終端記号を書き込みます。

(継承元 TraceListener)

適用対象

こちらもご覧ください