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 Standardfehlerstrom 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 Ablaufverfolgungslistenersammlung 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 Debuggen von Nachrichten in die Konsole zu schreiben. Sie können ein ConsoleTraceListener Objekt initialisieren, um Ablaufverfolgungsnachrichten in den Console.Out Datenstrom oder in den Console.Error Datenstrom zu schreiben.

Wichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Rufen Sie die Methode in einemtry/catch Block aufDispose, um den Typ direkt zu löschen. Zum indirekten Löschen verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt „Verwenden eines Objekts, das IDisposable implementiert“ des Themas „Die IDisposable-Schnittstelle“.

Wenn die Ablaufverfolgungs- und Debuggingausgabe aktiviert ist, werden die ConsoleTraceListener Nachrichten in den angegebenen System.Console Datenstrom geschrieben, der der Art und Weise ähnelt, wie Nachrichten mit den Console.Write oder Console.WriteLine Methoden geschrieben 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.

Hinweis

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 Auflistung ein ConsoleTraceListener Objekt hinzu, wenn Nachrichten in TraceSourceTraceder Konsole geschrieben oder Debug in die Konsole geschrieben werden Listeners sollen. Darüber hinaus können Sie Nachrichten direkt mit den Trace.Write Methoden oder Trace.WriteLine Methoden in die Konsole schreiben.

Hinweis

Die Debug und Trace Klassen teilen dieselbe Auflistung, auf die TraceListenerCollection ü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 aktivieren ablaufverfolgungs- und debugausgabe über bedingte Kompilierungskennzeichnungen. Wenn Sie die Ablaufverfolgung oder das Debuggen nicht aktivieren, werden die nachrichten, die über die System.Diagnostics.Debug Klassen System.Diagnostics.Trace geschrieben wurden, 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 Ihren Compiler.

  • Um das Debuggen in C# zu aktivieren, fügen Sie die Befehlszeile "/d:DEBUGflag" zur Compilerbefehlszeile hinzu, wenn Sie Ihren Code kompilieren, oder Sie können #define DEBUG oben in der Datei hinzufügen. Fügen Sie in Visual Basic der Compilerbefehlszeile das Flag "/d:DEBUG=True" hinzu.

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

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

Wenn Sie Ablaufverfolgungs- und Debugnachrichten in die Konsole für einen bestimmten Codeabschnitt schreiben möchten, initialisieren Sie ein ConsoleTraceListener Objekt, und fügen Sie sie der Listeners Auflistung hinzu. Instrumentieren Sie den Codeabschnitt, der Nachrichten mit den oder Debug Klassen Trace enthält. Entfernen Sie am Ende des Codeabschnitts das ConsoleTraceListener Objekt aus der Listeners Auflistung, und rufen Sie die Close Methode auf der ConsoleTraceListener.

Um .NET Framework Apps alle Ablaufverfolgungs- und Debugnachrichten an die Konsole zu leiten, während die Anwendung ausgeführt wird, fügen Sie der Anwendungskonfigurationsdatei ein ConsoleTraceListener Objekt hinzu. Im folgenden Beispiel wird der Auflistung ein ConsoleTraceListener Objekt mit dem Listeners Namen hinzugefügtconfigConsoleListener.

<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 <listeners>.

Konstruktoren

ConsoleTraceListener()

Initialisiert eine neue Instanz der ConsoleTraceListener-Klasse, wobei die Ablaufverfolgungsausgabe in den Standardausgabestream geschrieben wird.

ConsoleTraceListener(Boolean)

Initialisiert eine neue Instanz der ConsoleTraceListener-Klasse mit einer Option, die Ablaufverfolgungsausgabe in den Standardausgabestream oder in den Standardfehlerstream zu schreiben.

Eigenschaften

Attributes

Ruft die benutzerdefinierten Attribute für Ablaufverfolgungslistener ab, die in der Anwendungskonfigurationsdatei definiert sind.

(Geerbt von TraceListener)
Filter

Ruft den Ablaufverfolgungsfilter für den Ablaufverfolgungslistener ab oder legt diesen fest.

(Geerbt von TraceListener)
IndentLevel

Ruft die Einzugsebene ab oder legt diese fest.

(Geerbt von TraceListener)
IndentSize

Ruft die Anzahl der Leerzeichen in einem Einzug ab oder legt diese fest.

(Geerbt von TraceListener)
IsThreadSafe

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

(Geerbt von TraceListener)
Name

Ruft einen Namen für diesen TraceListener ab oder legt diesen fest.

(Geerbt von TraceListener)
NeedIndent

Ruft einen Wert ab, der einen Einzug für die Ausgabe angibt, oder legt diesen fest.

(Geerbt von TraceListener)
TraceOutputOptions

Ruft die Optionen für die Ablaufverfolgungsausgabe ab oder legt diese fest.

(Geerbt von TraceListener)
Writer

Ruft den Textwriter ab, der die Ablaufverfolgungs- oder Debugausgabe empfängt.

(Geerbt von TextWriterTraceListener)

Methoden

Close()

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

Close()

Schließt den Writer, sodass dieser keine Ablaufverfolgungs- oder Debugausgabe mehr empfängt.

(Geerbt von TextWriterTraceListener)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom TraceListener verwendeten Ressourcen frei.

(Geerbt von TraceListener)
Dispose(Boolean)

Gibt dieses TextWriterTraceListener-Objekt frei.

(Geerbt von TextWriterTraceListener)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Fail(String)

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

(Geerbt von TraceListener)
Fail(String, String)

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

(Geerbt von TraceListener)
Flush()

Leert den Ausgabepuffer von Writer.

(Geerbt von TextWriterTraceListener)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

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

(Geerbt von MarshalByRefObject)
GetSupportedAttributes()

Ruft die vom Ablaufverfolgungslistener unterstützten benutzerdefinierten Attribute ab.

(Geerbt von TraceListener)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des 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 spezifische Ausgabe des Listeners.

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

Schreibt Ablaufverfolgungsinformationen, ein Array von Datenobjekten 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)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

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

(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)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Schreibt Ablaufverfolgungsinformationen, eine Meldung, eine verwandte Aktivitätsidentität und Ereignisinformationen in die spezifische Ausgabe des Listeners.

(Geerbt von TraceListener)
Write(Object)

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

(Geerbt von TraceListener)
Write(Object, String)

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

(Geerbt von TraceListener)
Write(String)

Schreibt eine Meldung in den Writer dieser Instanz.

(Geerbt von TextWriterTraceListener)
Write(String, String)

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

(Geerbt von TraceListener)
WriteIndent()

Schreibt den Einzug in den Listener, den sie bei der Implementierung dieser Klasse erstellen, und setzt die NeedIndent-Eigenschaft auf false zurück.

(Geerbt von TraceListener)
WriteLine(Object)

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

(Geerbt von TraceListener)
WriteLine(Object, String)

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

(Geerbt von TraceListener)
WriteLine(String)

Schreibt eine Meldung, gefolgt von einem Zeichen für den Zeilenabschluss, in den Writer dieser Instanz. Der Standardzeilenabschluss ist ein Wagenrücklauf, gefolgt von einem Zeilenvorschub (\r\n).

(Geerbt von TextWriterTraceListener)
WriteLine(String, String)

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

(Geerbt von TraceListener)

Gilt für

Siehe auch