ConsoleTraceListener Klasse

Definition

Leitet Ablaufverfolgungs- und Debugausgaben entweder an die Standardausgabe oder an den Standardfehlerstream.

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

Beispiele

Im folgenden Codebeispiel wird eine Konsolenanwendung implementiert, die aus einer Klasse mit zwei öffentlichen Methoden besteht.

Die Main Methode untersucht die Befehlszeilenargumente und bestimmt, ob die Ablaufverfolgungsausgabe an den Standardfehlerdatenstrom oder den Standardausgabedatenstrom weitergeleitet werden soll. Main erstellt und initialisiert ein ConsoleTraceListener Objekt für den angegebenen Console Ausgabedatenstrom und fügt dieses Objekt der Ablaufverfolgungslistenerauflistung hinzu. Anschließend wird die WriteEnvironmentInfoToTrace Methode aufgerufen, die Details zur Ausführungsumgebung und der Ablaufverfolgungslistenerkonfiguration in die Ablaufverfolgungsausgabe schreibt.

Wenn die Beispielanwendung ausgeführt wird, werden die Konfigurationsdetails der Umgebung und Ablaufverfolgung über das ConsoleTraceListener Objekt in den angegebenen Konsolenausgabedatenstrom geschrieben.

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

Hinweise

Verwenden Sie die ConsoleTraceListener Klasse, um Ablaufverfolgungs- und Debuggingmeldungen in die Konsole zu schreiben. Sie können ein ConsoleTraceListener Objekt initialisieren, um Ablaufverfolgungsmeldungen in den Console.Out Datenstrom oder in den Console.Error Datenstrom zu schreiben.

Important

Dieser Typ implementiert die IDisposable Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Rufen Sie Dispose die zugehörige Methode in einemtry/catch Block auf, um den Typ direkt zu löschen. Verwenden Sie zum indirekten Löschen ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das IDisposable implementiert" im IDisposable Schnittstellenthema.

Wenn die Ablaufverfolgungs- und Debuggingausgabe aktiviert ist, werden die ConsoleTraceListener Nachrichten in den angegebenen System.Console Datenstrom geschrieben, was der Art und Weise ähnelt, wie Nachrichten mit den Console.Write Methoden geschrieben Console.WriteLine werden. In einer Konsolenanwendung schreiben die System.Console Ausgabe- und Fehlerdatenströme Nachrichten in das vorhandene Konsolenfenster, oder Sie können die Datenströme umleiten, um in eine System.IO.TextWriter Instanz zu schreiben.

Note

Wenn die Konsole nicht vorhanden ist, wie in einer Windows-basierten Anwendung, werden nachrichten, die in die Konsole geschrieben wurden, nicht angezeigt.

Fügen Sie der entsprechenden ConsoleTraceListener Auflistung ein Listeners Objekt hinzu, wenn Nachrichten über Tracedie TraceSourceDebug Konsole geschrieben oder in die Konsole geschrieben werden sollen. Darüber hinaus können Sie Nachrichten mithilfe der Trace.Write Methoden direkt Trace.WriteLine in die Konsole schreiben.

Note

Die Debug klassen Trace und die TraceListenerCollection gleiche Sammlung, auf die über ihre jeweiligen Listeners Eigenschaften zugegriffen wird. Wenn Sie der Auflistung ein ConsoleTraceListener Objekt mithilfe einer dieser Klassen hinzufügen, verwendet die andere Klasse automatisch denselben Listener.

Die meisten Compiler ermöglichen die Ablaufverfolgung und das Debuggen der Ausgabe über bedingte Kompilierungskennzeichnungen. Wenn Sie die Ablaufverfolgung oder das Debuggen nicht aktivieren, werden die über die System.Diagnostics.Debug Klassen System.Diagnostics.Trace geschriebenen Nachrichten effektiv ignoriert. Die Syntax zum Aktivieren der Ablaufverfolgung und Debugausgabe ist compilerspezifisch; Wenn Sie andere Compiler als C# oder Visual Basic verwenden, lesen Sie die Dokumentation für den Compiler.

  • Um das Debuggen in C# zu aktivieren, fügen Sie beim Kompilieren des Codes das Flag "/d:DEBUG" zur Compiler-Befehlszeile hinzu, oder Sie können #define DEBUG am Anfang der Datei hinzufügen. Fügen Sie in Visual Basic das Flag /d:DEBUG=True zur Compiler-Befehlszeile hinzu.

  • Um die Ablaufverfolgung in C# zu aktivieren, fügen Sie das Flag "/d:TRACE " zur Befehlszeile des Compilers hinzu, wenn Sie den Code kompilieren, oder fügen Sie #define TRACE am Anfang der Datei hinzu. Fügen Sie in Visual Basic das Flag /d:TRACE=True zur Befehlszeile des Compilers hinzu.

Sie können der ConsoleTraceListener Auflistung in Ihrem Code ein Listeners Objekt hinzufügen. Alternativ können Sie für .NET Framework-Apps über die Anwendungskonfigurationsdatei ein ConsoleTraceListener-Objekt zur Listeners-Auflistung hinzufügen. Fügen Sie das ConsoleTraceListener Objekt in Ihrem Code hinzu, um Nachrichten für einen bestimmten Codeabschnitt oder Ausführungspfad zu schreiben. Fügen Sie das ConsoleTraceListener Objekt in der Anwendungskonfigurationsdatei hinzu, um alle Ablaufverfolgungs- und Debugmeldungen während der Ausführung der Anwendung an die Konsole zu leiten.

Um Ablaufverfolgungs- und Debugmeldungen für einen bestimmten Codeabschnitt in die Konsole zu schreiben, initialisieren Sie ein ConsoleTraceListener Objekt, und fügen Sie es der Listeners Auflistung hinzu. Instrumentieren Sie den Codeabschnitt, der Nachrichten enthält, die die Trace Klassen verwenden Debug . Entfernen Sie am Ende des Codeabschnitts das ConsoleTraceListener Objekt aus der Listeners Auflistung, und rufen Sie die Close Methode für die ConsoleTraceListener.

Damit .NET Framework-Apps alle Ablaufverfolgungs- und Debugmeldungen während der Ausführung der Anwendung an die Konsole weiterleiten können, fügen Sie der Anwendungskonfigurationsdatei ein ConsoleTraceListener-Objekt hinzu. Im folgenden Beispiel wird der Auflistung ein ConsoleTraceListener Objekt hinzugefügtconfigConsoleListener.Listeners

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

Ausführliche Informationen zum Hinzufügen von Ablaufverfolgungslistenern in der Anwendungskonfigurationsdatei finden Sie unter <Listener>.

Konstruktoren

Name Beschreibung
ConsoleTraceListener()

Initialisiert eine neue Instanz der ConsoleTraceListener Klasse mit Ablaufverfolgungsausgabe, die in den Standardausgabedatenstrom geschrieben wurde.

ConsoleTraceListener(Boolean)

Initialisiert eine neue Instanz der ConsoleTraceListener Klasse mit einer Option zum Schreiben der Ablaufverfolgungsausgabe in den Standardausgabedatenstrom oder den Standardfehlerdatenstrom.

Eigenschaften

Name Beschreibung
Attributes

Ruft die benutzerdefinierten Listenerattribute der Ablaufverfolgung ab, die in der Anwendungskonfigurationsdatei definiert sind.

(Geerbt von TraceListener)
Filter

Dient zum Abrufen oder Festlegen des Ablaufverfolgungsfilters für den Ablaufverfolgungslistener.

(Geerbt von TraceListener)
IndentLevel

Dient zum Abrufen oder Festlegen der Einzugsebene.

(Geerbt von TraceListener)
IndentSize

Dient zum Abrufen oder Festlegen der Anzahl von Leerzeichen in einem Einzug.

(Geerbt von TraceListener)
IsThreadSafe

Ruft einen Wert ab, der angibt, ob der Ablaufverfolgungslistener threadsicher ist.

(Geerbt von TraceListener)
Name

Dient zum Abrufen oder Festlegen eines Namens für dieses TraceListener.

(Geerbt von TraceListener)
NeedIndent

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Ausgabe eingezogen werden soll.

(Geerbt von TraceListener)
TraceOutputOptions

Ruft die Ausgabeoptionen für die Ablaufverfolgung ab oder legt sie fest.

(Geerbt von TraceListener)
Writer

Ruft den Text writer ab, der die Ablaufverfolgungs- oder Debuggingausgabe empfängt, oder legt diesen fest.

(Geerbt von TextWriterTraceListener)

Methoden

Name Beschreibung
Close()

Schließt die Ausgabe an den für diesen Ablaufverfolgungslistener angegebenen Datenstrom.

Close()

Schließt die Schließung, Writer sodass sie keine Ablaufverfolgungs- oder Debugausgabe mehr empfängt.

(Geerbt von TextWriterTraceListener)
CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom TraceListenerverwendeten Ressourcen frei.

(Geerbt von TraceListener)
Dispose(Boolean)

Entfernt dieses TextWriterTraceListener Objekt.

(Geerbt von TextWriterTraceListener)
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Fail(String, String)

Gibt eine Fehlermeldung und eine detaillierte Fehlermeldung an den Listener aus, den Sie beim Implementieren der TraceListener Klasse erstellen.

(Geerbt von TraceListener)
Fail(String)

Gibt eine Fehlermeldung an den Listener aus, den Sie beim Implementieren der TraceListener Klasse erstellen.

(Geerbt von TraceListener)
Flush()

Löscht den Ausgabepuffer für die Writer.

(Geerbt von TextWriterTraceListener)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetSupportedAttributes()

Ruft die benutzerdefinierten Attribute ab, die vom Ablaufverfolgungslistener unterstützt werden.

(Geerbt von TraceListener)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts.

(Geerbt von MarshalByRefObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Schreibt Ablaufverfolgungsinformationen, ein Datenobjekt und Ereignisinformationen in die listenerspezifische Ausgabe.

(Geerbt von TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Schreibt Ablaufverfolgungsinformationen, ein Array von Datenobjekten und Ereignisinformationen in die listenerspezifische Ausgabe.

(Geerbt von TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Schreibt Ablaufverfolgungsinformationen, ein formatiertes Array von Objekten und Ereignisinformationen in die spezifische Ausgabe des Listeners.

(Geerbt von TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Schreibt Ablaufverfolgungsinformationen, eine Nachricht und Ereignisinformationen in die spezifische Ausgabe des Listeners.

(Geerbt von TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Schreibt Ablaufverfolgungs- und Ereignisinformationen in die spezifische Ausgabe des Listeners.

(Geerbt von TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Schreibt Ablaufverfolgungsinformationen, eine Nachricht, eine zugehörige Aktivitätsidentität und Ereignisinformationen in die spezifische Ausgabe des Listeners.

(Geerbt von TraceListener)
Write(Object, String)

Schreibt einen Kategorienamen und den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen.

(Geerbt von TraceListener)
Write(Object)

Schreibt den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen.

(Geerbt von TraceListener)
Write(String, String)

Schreibt einen Kategorienamen und eine Nachricht in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen.

(Geerbt von TraceListener)
Write(String)

Schreibt eine Nachricht in die Instanzen Writer.

(Geerbt von TextWriterTraceListener)
WriteIndent()

Schreibt den Einzug in den Listener, den Sie beim Implementieren dieser Klasse erstellen, und setzt die NeedIndent Eigenschaft auf false.

(Geerbt von TraceListener)
WriteLine(Object, String)

Schreibt einen Kategorienamen und den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen, gefolgt von einem Zeilenterminator.

(Geerbt von TraceListener)
WriteLine(Object)

Schreibt den Wert der Methode des Objekts ToString() in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen, gefolgt von einem Zeilenterminator.

(Geerbt von TraceListener)
WriteLine(String, String)

Schreibt einen Kategorienamen und eine Nachricht in den Listener, den Sie beim Implementieren der TraceListener Klasse erstellen, gefolgt von einem Zeilenterminator.

(Geerbt von TraceListener)
WriteLine(String)

Schreibt eine Nachricht in die Writer Instanz gefolgt von einem Zeilenterminator. Der Standardzeilenabschluss ist eine Wagenrücklauf, gefolgt von einem Zeilenvorschub (\r\n).

(Geerbt von TextWriterTraceListener)

Gilt für:

Weitere Informationen