ConsoleTraceListener Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 ausgeführten Umgebung und zur Konfiguration des Ablaufverfolgungslisteners in die Ablaufverfolgungsausgabe schreibt.
Wenn die Beispielanwendung ausgeführt wird, werden die Umgebungs- und Ablaufverfolgungskonfigurationsdetails über das -Objekt in den ConsoleTraceListener angegebenen Konsolenausgabestream 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 Debugnachrichten in die Konsole zu schreiben. Sie können ein ConsoleTraceListener -Objekt initialisieren, um Ablaufverfolgungsmeldungen in den Console.Out Stream oder in den Console.Error Stream zu schreiben.
Wichtig
Dieser Typ implementiert die IDisposable-Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Um den Typ direkt zu verwerfen, rufen Sie die zugehörige Dispose -Methode in einem -Block auf/try
catch
. 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 Ausgabe der Ablaufverfolgung und des Debuggens aktiviert ist, werden die ConsoleTraceListener Nachrichten in den angegebenen System.Console Stream geschrieben, was der Art und Weise ähnelt, wie Nachrichten mit den Console.Write Methoden oder Console.WriteLine geschrieben werden. In einer Konsolenanwendung schreiben die System.Console Ausgabe- und Fehlerstreams Nachrichten an das vorhandene Konsolenfenster, oder Sie können die Streams zum Schreiben an eine System.IO.TextWriter instance umleiten.
Hinweis
Wenn die Konsole nicht vorhanden ist, wie in einer Windows-basierten Anwendung, werden in die Konsole geschriebene Meldungen nicht angezeigt.
Fügen Sie der entsprechenden Auflistung ein ConsoleTraceListener -Objekt hinzu, wenn Nachrichten, die über Trace, TraceSourceoder Debug geschrieben werden, in die Konsole geschrieben werden sollen.Listeners Darüber hinaus können Sie Nachrichten direkt in die Konsole schreiben, indem Sie die Trace.Write Methoden oder Trace.WriteLine verwenden.
Hinweis
Die Debug Klassen und Trace verwenden dieselbe TraceListenerCollection Auflistung, auf die über ihre jeweiligen Listeners
Eigenschaften zugegriffen wird. Wenn Sie der Auflistung mithilfe einer dieser Klassen ein ConsoleTraceListener -Objekt hinzufügen, verwendet die andere Klasse automatisch denselben Listener.
Die meisten Compiler aktivieren die Ablaufverfolgungs- und Debugausgabe über Flags für die bedingte Kompilierung. Wenn Sie die Ablaufverfolgung oder das Debuggen nicht aktivieren, werden die über die System.Diagnostics.Debug Klassen und System.Diagnostics.Trace geschriebenen Nachrichten effektiv ignoriert. Die Syntax zum Aktivieren der Ablaufverfolgungs- 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 das Flag /d:DEBUGder Compilerbefehlszeile hinzu, wenn Sie Ihren Code kompilieren, oder Sie können #define DEBUG am Anfang 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 der Compilerbefehlszeile hinzu, wenn Sie Ihren Code kompilieren, oder fügen Sie #define TRACE am Anfang der Datei hinzu. Fügen Sie in Visual Basic der Compilerbefehlszeile das Flag /d:TRACE=True hinzu.
Sie können der Listeners Auflistung in Ihrem Code ein ConsoleTraceListener -Objekt hinzufügen. Alternativ können Sie für .NET Framework-Apps der Auflistung über die Listeners Anwendungskonfigurationsdatei ein ConsoleTraceListener -Objekt 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 Ihrer Anwendungskonfigurationsdatei hinzu, um alle Ablaufverfolgungs- und Debugmeldungen an die Konsole weiterzuleiten, während die Anwendung ausgeführt wird.
Um Ablaufverfolgungs- und Debugnachrichten 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, mithilfe der -Klasse oder Debug der Trace -Klasse. Entfernen Sie am Ende des Codeabschnitts das ConsoleTraceListener -Objekt aus der Listeners Auflistung, und rufen Sie die Close -Methode für auf ConsoleTraceListener.
Fügen Sie für .NET Framework-Apps der Anwendungskonfigurationsdatei ein ConsoleTraceListener -Objekt hinzu, um alle Ablaufverfolgungs- und Debugnachrichten an die Konsole weiterzuleiten, während die Anwendung ausgeführt wird. Im folgenden Beispiel wird der Auflistung ein ConsoleTraceListener -Objekt mit dem Listeners Namen configConsoleListener
hinzugefügt.
<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
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 |
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) |