次の方法で共有


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.Write メソッドまたは Console.WriteLine メソッドを使用してメッセージを書き込む方法と似ています。 コンソール アプリケーションでは、System.Console 出力ストリームとエラー ストリームが既存のコンソール ウィンドウにメッセージを書き込むか、ストリームをリダイレクトして System.IO.TextWriter インスタンスに書き込むことができます。

手記

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

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

手記

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

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

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

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

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

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

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

<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

インデント内のスペースの数を取得または設定します。

(継承元 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, String)

TraceListener クラスを実装するときに作成するリスナーにエラー メッセージと詳細なエラー メッセージを出力します。

(継承元 TraceListener)
Fail(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, String, Object[])

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

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

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

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

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

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

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

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

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

(継承元 TraceListener)
Write(Object)

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

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

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

(継承元 TraceListener)
Write(String)

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

(継承元 TextWriterTraceListener)
WriteIndent()

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

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

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

(継承元 TraceListener)
WriteLine(Object)

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

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

TraceListener クラスを実装するときに作成するリスナーに、カテゴリ名とメッセージを書き込み、続けて行終端記号を書き込みます。

(継承元 TraceListener)
WriteLine(String)

このインスタンスの Writer にメッセージを書き込み、続けて行終端記号を書き込みます。 既定のライン ターミネータは、復帰の後に改行 (\r\n) が続きます。

(継承元 TextWriterTraceListener)

適用対象

こちらもご覧ください