ConsoleTraceListener 클래스

정의

추적 또는 디버깅 출력을 표준 출력 또는 표준 오류 스트림으로 보냅니다.

public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
    inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
상속

예제

다음 코드 예제에서는 두 개의 공용 메서드를 사용 하 여 클래스로 구성 된 콘솔 애플리케이션을 구현 합니다.

메서드는 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.Error 스트림에 Console.Out 추적 메시지를 쓸 수 있습니다.

중요

이 형식이 구현 하는 IDisposable 인터페이스입니다. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다. 형식을 직접 삭제하려면 블록에서 해당 Dispose 메서드를try/catch 호출합니다. 삭제 하지 직접, 언어 구문 같은 사용 using (C#에서) 또는 Using (Visual Basic에서는). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.

추적 및 디버깅 출력을 사용하도록 설정 ConsoleTraceListener 하면 메시지가 지정된 System.Console 스트림에 기록됩니다. 이는 또는 Console.WriteLine 메서드를 사용하여 메시지를 쓰는 방식과 Console.Write 유사합니다. 콘솔 애플리케이션에서는 합니다 System.Console 출력 및 오류 스트림을 기존 콘솔 창에 메시지를 작성 하거나 쓸 스트림을 리디렉션할 수 있습니다는 System.IO.TextWriter 인스턴스.

참고

Windows 기반 애플리케이션에서와 같이 콘솔 존재 하지 않는 경우 메시지를 콘솔에 표시 되지 않습니다.

ConsoleTraceListener, TraceSource또는 Debug 을 통해 Trace작성된 메시지를 콘솔에 쓰려는 경우 적절한 Listeners 컬렉션에 개체를 추가합니다. 또한 또는 Trace.WriteLine 메서드를 사용하여 Trace.Write 콘솔에 직접 메시지를 쓸 수 있습니다.

참고

DebugTrace 클래스는 해당 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 계측합니다. 코드 섹션의 끝에서 컬렉션에서 Listeners 개체를 ConsoleTraceListener 제거하고 에서 메서드를 CloseConsoleTraceListener호출합니다.

.NET Framework 앱의 경우 애플리케이션이 실행되는 동안 모든 추적 및 디버그 메시지를 콘솔로 보내려면 애플리케이션 구성 파일에 개체를 추가 ConsoleTraceListener 합니다. 다음 예제에서는 라는 개체를 ConsoleTraceListener 컬렉션에 추가합니다Listeners.configConsoleListener

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

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)

ToString() 클래스를 구현할 때 생성한 수신기에 개체의 TraceListener 메서드 값을 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)
WriteLine(Object, String)

ToString() 클래스를 구현할 때 생성한 수신기에 범주 이름 및 개체의 TraceListener 메서드 값을 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)
WriteLine(String)

줄 종결자가 뒤에 오는 이 인스턴스의 Writer에 메시지를 씁니다. 기본 줄 종결자는 캐리지 리턴과 줄 바꿈(\r\n) 조합입니다.

(다음에서 상속됨 TextWriterTraceListener)
WriteLine(String, String)

TraceListener 클래스를 구현할 때 생성한 수신기에 범주 이름 및 메시지를 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)

적용 대상

추가 정보