ConsoleTraceListener Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kieruje dane wyjściowe śledzenia lub debugowania do standardowego strumienia danych wyjściowych lub błędów.
public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
- Dziedziczenie
Przykłady
Poniższy przykład kodu implementuje aplikację konsolową składającą się z klasy z dwiema metodami publicznymi.
Metoda Main
analizuje argumenty wiersza polecenia i określa, czy dane wyjściowe śledzenia powinny być kierowane do standardowego strumienia błędów lub standardowego strumienia wyjściowego. Main
tworzy i inicjuje ConsoleTraceListener obiekt dla określonego Console strumienia wyjściowego i dodaje ten obiekt do kolekcji odbiornika śledzenia. Następnie wywołuje metodę WriteEnvironmentInfoToTrace
, która zapisuje szczegółowe informacje o środowisku wykonywania i konfiguracji odbiornika śledzenia do danych wyjściowych śledzenia.
Po uruchomieniu przykładowej aplikacji szczegóły konfiguracji środowiska i śledzenia są zapisywane w określonym strumieniu danych wyjściowych konsoli za ConsoleTraceListener pośrednictwem obiektu.
// 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
Uwagi
Użyj klasy do zapisywania ConsoleTraceListener komunikatów śledzenia i debugowania w konsoli programu . Obiekt można zainicjować ConsoleTraceListener , aby zapisywać komunikaty śledzenia w strumieniu Console.Out lub strumieniu Console.Error .
Ważne
Ten typ implementuje IDisposable interfejs. Po zakończeniu korzystania z typu należy go usunąć bezpośrednio lub pośrednio. Aby usunąć typ bezpośrednio, wywołaj metodę Disposetry
/catch
w bloku. Aby usunąć go pośrednio, użyj konstrukcji językowej, takiej jak using
(w języku C#) lub Using
(w Visual Basic). Aby uzyskać więcej informacji, zobacz sekcję "Using an Object that Implements IDisposable" (Używanie obiektu implementujące protokół IDisposable) w temacie interfejsu IDisposable .
Gdy dane wyjściowe śledzenia i debugowania są włączone, ConsoleTraceListener komunikaty są zapisywane w określonym System.Console strumieniu, co jest podobne do sposobu zapisywania komunikatów przy użyciu Console.Write metod or Console.WriteLine . W aplikacji System.Console konsolowej dane wyjściowe i strumienie błędów zapisują komunikaty w istniejącym oknie konsoli lub możesz przekierować strumienie do zapisu w wystąpieniu System.IO.TextWriter .
Uwaga
Jeśli konsola nie istnieje, podobnie jak w aplikacji opartej na systemie Windows, komunikaty zapisane w konsoli nie są wyświetlane.
ConsoleTraceListener Dodaj obiekt do odpowiedniej Listeners kolekcji, jeśli chcesz, aby komunikaty zapisane za pośrednictwem Traceprogramu , TraceSourcelub Debug zostały zapisane w konsoli programu . Ponadto można zapisywać komunikaty bezpośrednio w konsoli przy użyciu Trace.Write metod lub Trace.WriteLine .
Uwaga
Klasy Debug i Trace współużytkują tę samą TraceListenerCollection kolekcję, uzyskiwaną za pośrednictwem odpowiednich Listeners
właściwości. Jeśli dodasz ConsoleTraceListener obiekt do kolekcji przy użyciu jednej z tych klas, druga klasa automatycznie używa tego samego odbiornika.
Większość kompilatorów włącza dane wyjściowe śledzenia i debugowania za pomocą flag kompilacji warunkowej. Jeśli nie włączysz śledzenia ani debugowania, komunikaty zapisane za pośrednictwem System.Diagnostics.Debug klas i System.Diagnostics.Trace są skutecznie ignorowane. Składnia umożliwiająca włączenie danych wyjściowych śledzenia i debugowania jest specyficzna dla kompilatora; Jeśli używasz kompilatorów innych niż C# lub Visual Basic, zapoznaj się z dokumentacją kompilatora.
Aby włączyć debugowanie w języku C#, dodaj flagę /d:DEBUGdo wiersza polecenia kompilatora podczas kompilowania kodu lub możesz dodać #define DEBUG na początku pliku. W języku Visual Basic dodaj flagę /d:DEBUG=True do wiersza polecenia kompilatora.
Aby włączyć śledzenie w języku C#, dodaj flagę /d:TRACE do wiersza polecenia kompilatora podczas kompilowania kodu lub dodaj #define TRACE na początku pliku. W języku Visual Basic dodaj flagę /d:TRACE=True do wiersza polecenia kompilatora.
Obiekt można dodać ConsoleTraceListener do kolekcji Listeners w kodzie. W przypadku aplikacji .NET Framework można dodać ConsoleTraceListener obiekt do Listeners kolekcji za pomocą pliku konfiguracji aplikacji. ConsoleTraceListener Dodaj obiekt w kodzie, aby napisać komunikaty dla określonej sekcji kodu lub ścieżki wykonywania. ConsoleTraceListener Dodaj obiekt w pliku konfiguracji aplikacji, aby skierować wszystkie komunikaty śledzenia i debugowania do konsoli podczas wykonywania aplikacji.
Aby napisać komunikaty śledzenia i debugowania w konsoli dla określonej sekcji kodu, zainicjuj ConsoleTraceListener obiekt i dodaj go do Listeners kolekcji. Instrumentacja sekcji kodu zawierającego komunikaty przy użyciu Trace klas lub Debug . Na końcu sekcji kodu usuń ConsoleTraceListener obiekt z Listeners kolekcji i wywołaj metodę Close w obiekcie ConsoleTraceListener.
W przypadku aplikacji .NET Framework, aby skierować wszystkie komunikaty śledzenia i debugowania do konsoli podczas wykonywania aplikacji, dodaj ConsoleTraceListener obiekt do pliku konfiguracji aplikacji. Poniższy przykład dodaje ConsoleTraceListener obiekt o nazwie configConsoleListener
do kolekcji Listeners .
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Aby uzyskać szczegółowe informacje na temat dodawania odbiorników śledzenia w pliku konfiguracji aplikacji, zobacz <odbiorniki>.
Konstruktory
ConsoleTraceListener() |
Inicjuje ConsoleTraceListener nowe wystąpienie klasy z danymi wyjściowymi śledzenia zapisanymi w standardowym strumieniu wyjściowym. |
ConsoleTraceListener(Boolean) |
Inicjuje nowe wystąpienie ConsoleTraceListener klasy z opcją zapisu danych wyjściowych śledzenia do standardowego strumienia wyjściowego lub standardowego strumienia błędów. |
Właściwości
Attributes |
Pobiera niestandardowe atrybuty odbiornika śledzenia zdefiniowane w pliku konfiguracji aplikacji. (Odziedziczone po TraceListener) |
Filter |
Pobiera lub ustawia filtr śledzenia dla odbiornika śledzenia. (Odziedziczone po TraceListener) |
IndentLevel |
Pobiera lub ustawia poziom wcięcia. (Odziedziczone po TraceListener) |
IndentSize |
Pobiera lub ustawia liczbę spacji w wcięcie. (Odziedziczone po TraceListener) |
IsThreadSafe |
Pobiera wartość wskazującą, czy odbiornik śledzenia jest bezpieczny wątkiem. (Odziedziczone po TraceListener) |
Name |
Pobiera lub ustawia nazwę dla tego elementu TraceListener. (Odziedziczone po TraceListener) |
NeedIndent |
Pobiera lub ustawia wartość wskazującą, czy należy wciąć dane wyjściowe. (Odziedziczone po TraceListener) |
TraceOutputOptions |
Pobiera lub ustawia opcje danych wyjściowych śledzenia. (Odziedziczone po TraceListener) |
Writer |
Pobiera lub ustawia moduł zapisywania tekstu, który odbiera dane wyjściowe śledzenia lub debugowania. (Odziedziczone po TextWriterTraceListener) |
Metody
Close() |
Zamyka dane wyjściowe do strumienia określonego dla tego odbiornika śledzenia. |
Close() |
Zamyka element Writer tak, aby nie odbierał już danych wyjściowych śledzenia ani debugowania. (Odziedziczone po TextWriterTraceListener) |
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Dispose() |
Zwalnia wszelkie zasoby używane przez element TraceListener. (Odziedziczone po TraceListener) |
Dispose(Boolean) |
Usuwa ten TextWriterTraceListener obiekt. (Odziedziczone po TextWriterTraceListener) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Fail(String) |
Emituje komunikat o błędzie do odbiornika utworzonego podczas implementowania TraceListener klasy. (Odziedziczone po TraceListener) |
Fail(String, String) |
Emituje komunikat o błędzie i szczegółowy komunikat o błędzie do odbiornika utworzonego podczas implementowania TraceListener klasy. (Odziedziczone po TraceListener) |
Flush() |
Opróżnia bufor wyjściowy dla elementu Writer. (Odziedziczone po TextWriterTraceListener) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLifetimeService() |
Przestarzałe.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetSupportedAttributes() |
Pobiera atrybuty niestandardowe obsługiwane przez odbiornik śledzenia. (Odziedziczone po TraceListener) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
InitializeLifetimeService() |
Przestarzałe.
Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Zapisuje informacje śledzenia, obiekt danych i informacje o zdarzeniach do danych wyjściowych specyficznych dla odbiornika. (Odziedziczone po TraceListener) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Zapisuje informacje śledzenia, tablicę obiektów danych i informacje o zdarzeniach do danych wyjściowych specyficznych dla odbiornika. (Odziedziczone po TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Zapisuje informacje dotyczące śledzenia i zdarzeń do danych wyjściowych specyficznych dla odbiornika. (Odziedziczone po TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Zapisuje informacje dotyczące śledzenia, komunikatu i zdarzenia do danych wyjściowych specyficznych dla odbiornika. (Odziedziczone po TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Zapisuje informacje śledzenia, sformatowaną tablicę obiektów i informacji o zdarzeniach do danych wyjściowych specyficznych dla odbiornika. (Odziedziczone po TraceListener) |
TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Zapisuje informacje dotyczące śledzenia, komunikatu, powiązanej tożsamości działania i informacji o zdarzeniach do danych wyjściowych specyficznych dla odbiornika. (Odziedziczone po TraceListener) |
Write(Object) |
Zapisuje wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy. (Odziedziczone po TraceListener) |
Write(Object, String) |
Zapisuje nazwę kategorii i wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy. (Odziedziczone po TraceListener) |
Write(String) |
Zapisuje komunikat do wystąpienia Writer. (Odziedziczone po TextWriterTraceListener) |
Write(String, String) |
Zapisuje nazwę kategorii i komunikat do odbiornika tworzonego podczas implementowania TraceListener klasy. (Odziedziczone po TraceListener) |
WriteIndent() |
Zapisuje wcięcie do odbiornika utworzonego podczas implementowania tej klasy i resetuje NeedIndent właściwość do |
WriteLine(Object) |
Zapisuje wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy, po której następuje terminator wiersza. (Odziedziczone po TraceListener) |
WriteLine(Object, String) |
Zapisuje nazwę kategorii i wartość metody obiektu ToString() do odbiornika tworzonego podczas implementowania TraceListener klasy, po której następuje terminator wiersza. (Odziedziczone po TraceListener) |
WriteLine(String) |
Zapisuje komunikat w tym wystąpieniu Writer , po którym następuje terminator wiersza. Domyślny terminator wiersza to powrót karetki, po którym następuje kanał informacyjny wiersza (\r\n). (Odziedziczone po TextWriterTraceListener) |
WriteLine(String, String) |
Zapisuje nazwę kategorii i komunikat do odbiornika utworzonego podczas implementowania TraceListener klasy, po którym następuje terminator wiersza. (Odziedziczone po TraceListener) |