ConsoleTraceListener Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Směruje výstup trasování nebo ladění do standardního výstupu nebo standardního datového proudu chyb.
public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
- Dědičnost
Příklady
Následující příklad kódu implementuje konzolovou aplikaci, která se skládá z třídy se dvěma veřejnými metodami.
Metoda Main
prozkoumá argumenty příkazového řádku a určí, jestli má být výstup trasování směrován na standardní datový proud chyb nebo na standardní výstupní datový proud. Main
vytvoří a inicializuje ConsoleTraceListener objekt pro zadaný Console výstupní datový proud a přidá tento objekt do kolekce naslouchacího procesu trasování. Pak zavolá metodu WriteEnvironmentInfoToTrace
, která zapíše podrobnosti o prováděcím prostředí a konfiguraci naslouchacího procesu trasování do výstupu trasování.
Při spuštění ukázkové aplikace jsou podrobnosti o konfiguraci prostředí a trasování zapsány do zadaného výstupního streamu konzoly prostřednictvím objektu 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
Poznámky
Pomocí třídy můžete do konzoly ConsoleTraceListener zapisovat zprávy trasování a ladění. Objekt můžete inicializovat tak, ConsoleTraceListener aby se do datového proudu nebo do datového Console.OutConsole.Error proudu zapisují zprávy trasování.
Důležité
Tento typ implementuje IDisposable rozhraní. Po dokončení používání tohoto typu byste ho měli přímo nebo nepřímo odstranit. Pokud chcete odstranit typ přímo, zavolejte jeho Dispose metodutry
/catch
v bloku. Pokud ho chcete odstranit nepřímo, použijte konstruktor jazyka, například using
(v jazyce C#) nebo Using
(v jazyce Visual Basic). Další informace najdete v části "Použití objektu, který implementuje IDisposable" v IDisposable tématu rozhraní.
Pokud je povolen výstup trasování a ladění, ConsoleTraceListener zprávy se zapisují do zadaného System.Console datového proudu, což je podobné způsobu, jakým se zprávy zapisují pomocí Console.Write metod nebo Console.WriteLine . V konzolové aplikaci System.Console zapisují výstupní a chybové datové proudy zprávy do existujícího okna konzoly nebo můžete datové proudy přesměrovat na zápis do System.IO.TextWriter instance.
Poznámka
Pokud konzola neexistuje, stejně jako v aplikaci se systémem Windows, zprávy zapsané do konzoly se nezobrazí.
ConsoleTraceListener Pokud chcete, aby se zprávy zapsané prostřednictvím Trace, TraceSourcenebo Debug do konzoly zapisují, přidejte objekt do příslušné Listeners kolekce. Kromě toho můžete psát zprávy přímo do konzoly Trace.Write pomocí metod nebo Trace.WriteLine .
Poznámka
Třídy Debug a Trace sdílejí stejnou TraceListenerCollection kolekci, ke které se přistupuje prostřednictvím příslušných Listeners
vlastností. Pokud přidáte ConsoleTraceListener objekt do kolekce pomocí jedné z těchto tříd, druhá třída automaticky použije stejný naslouchací proces.
Většina kompilátorů umožňuje trasování a ladění výstupu prostřednictvím příznaků podmíněné kompilace. Pokud nepovolíte trasování nebo ladění, budou zprávy zapsané prostřednictvím System.Diagnostics.Debug tříd a System.Diagnostics.Trace efektivně ignorovány. Syntaxe pro povolení výstupu trasování a ladění je specifická pro kompilátor. Pokud používáte jiné kompilátory než C# nebo Visual Basic, projděte si dokumentaci k kompilátoru.
Pokud chcete povolit ladění v jazyce C#, přidejte příznak /d:DEBUGdo příkazového řádku kompilátoru při kompilaci kódu nebo můžete přidat #define DEBUG na začátek souboru. V jazyce Visual Basic přidejte příznak /d:DEBUG=True do příkazového řádku kompilátoru.
Pokud chcete povolit trasování v jazyce C#, přidejte do příkazového řádku kompilátoru při kompilaci kódu příznak /d:TRACE nebo přidejte do horní části souboru #define TRACE . V jazyce Visual Basic přidejte do příkazového řádku kompilátoru příznak /d:TRACE=True .
Do kolekce v kódu můžete přidat ConsoleTraceListener objekt Listeners . Nebo pro aplikace .NET Framework můžete do Listeners kolekce přidat ConsoleTraceListener objekt prostřednictvím konfiguračního souboru aplikace. ConsoleTraceListener Přidejte objekt do kódu pro psaní zpráv pro konkrétní oddíl kódu nebo cestu spuštění. Přidejte objekt do konfiguračního ConsoleTraceListener souboru aplikace, aby se všechny zprávy trasování a ladění nasměrovály do konzoly, zatímco se aplikace spouští.
Pokud chcete zapisovat zprávy trasování a ladění do konzoly pro konkrétní část kódu, inicializujte ConsoleTraceListener objekt a přidejte ho Listeners do kolekce. Instrumentace oddílu kódu, který obsahuje zprávy pomocí Trace tříd nebo Debug . Na konci oddílu kódu odeberte ConsoleTraceListener objekt z Listeners kolekce a zavolejte metodu Close na ConsoleTraceListener.
Pro aplikace rozhraní .NET Framework přidejte ConsoleTraceListener objekt do konfiguračního souboru aplikace, aby se všechny zprávy trasování a ladění nasměrovály do konzoly během spouštění aplikace. Následující příklad přidá ConsoleTraceListener objekt s názvem configConsoleListener
do Listeners kolekce.
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Podrobnosti o přidávání naslouchacích procesů trasování do konfiguračního souboru aplikace najdete v tématu <Naslouchací procesy>.
Konstruktory
ConsoleTraceListener() |
Inicializuje novou instanci ConsoleTraceListener třídy s výstupem trasování zapsaným do standardního výstupního datového proudu. |
ConsoleTraceListener(Boolean) |
Inicializuje novou instanci ConsoleTraceListener třídy s možností zápisu výstupu trasování do standardního výstupního datového proudu nebo standardního datového proudu chyb. |
Vlastnosti
Attributes |
Získá vlastní atributy trasovacího naslouchacího procesu definované v konfiguračním souboru aplikace. (Zděděno od TraceListener) |
Filter |
Získá nebo nastaví filtr trasování pro trasovací naslouchací proces. (Zděděno od TraceListener) |
IndentLevel |
Získá nebo nastaví úroveň odsazení. (Zděděno od TraceListener) |
IndentSize |
Získá nebo nastaví počet mezer v odsazení. (Zděděno od TraceListener) |
IsThreadSafe |
Získá hodnotu označující, zda trasovací naslouchací proces je bezpečný z více vláken. (Zděděno od TraceListener) |
Name |
Získá nebo nastaví název pro tento TraceListener. (Zděděno od TraceListener) |
NeedIndent |
Získá nebo nastaví hodnotu označující, zda odsadit výstup. (Zděděno od TraceListener) |
TraceOutputOptions |
Získá nebo nastaví možnosti výstupu trasování. (Zděděno od TraceListener) |
Writer |
Získá nebo nastaví zapisovač textu, který přijímá výstup trasování nebo ladění. (Zděděno od TextWriterTraceListener) |
Metody
Close() |
Zavře výstup do datového proudu zadaného pro tento naslouchací proces trasování. |
Close() |
Zavře ho Writer tak, aby už nepřijímaly výstup trasování nebo ladění. (Zděděno od TextWriterTraceListener) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní všechny prostředky používané nástrojem TraceListener. (Zděděno od TraceListener) |
Dispose(Boolean) |
Odstraní tento TextWriterTraceListener objekt. (Zděděno od TextWriterTraceListener) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Fail(String) |
Vygeneruje chybovou zprávu do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy. (Zděděno od TraceListener) |
Fail(String, String) |
Vygeneruje chybovou zprávu a podrobnou chybovou zprávu do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy. (Zděděno od TraceListener) |
Flush() |
Vyprázdní výstupní vyrovnávací paměť pro Writer. (Zděděno od TextWriterTraceListener) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetSupportedAttributes() |
Získá vlastní atributy podporované trasovacím naslouchacím procesem. (Zděděno od TraceListener) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Zapíše trasovací informace, datový objekt a informace o událostech do výstupu specifického pro naslouchací proces. (Zděděno od TraceListener) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Zapíše trasovací informace, pole datových objektů a informací o událostech do výstupu specifického pro naslouchací proces. (Zděděno od TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Zapíše trasování a informace o událostech do výstupu specifického pro naslouchací proces. (Zděděno od TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Zapíše informace o trasování, zprávu a informace o událostech do výstupu specifického pro naslouchací proces. (Zděděno od TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Zapisuje trasovací informace, formátované pole objektů a informace o událostech do výstupu specifického pro naslouchací proces. (Zděděno od TraceListener) |
TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Zapíše trasovací informace, zprávu, související identitu aktivity a informace o událostech do výstupu specifického pro naslouchací proces. (Zděděno od TraceListener) |
Write(Object) |
Zapíše hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy. (Zděděno od TraceListener) |
Write(Object, String) |
Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy. (Zděděno od TraceListener) |
Write(String) |
Zapíše zprávu do této instance Writer. (Zděděno od TextWriterTraceListener) |
Write(String, String) |
Zapíše název kategorie a zprávu do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy. (Zděděno od TraceListener) |
WriteIndent() |
Zapíše odsazení do naslouchacího procesu, který vytvoříte při implementaci této třídy, a resetuje NeedIndent vlastnost na |
WriteLine(Object) |
Zapíše hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následovaný ukončovacím znakem řádku. (Zděděno od TraceListener) |
WriteLine(Object, String) |
Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následovaný ukončovacím znakem řádku. (Zděděno od TraceListener) |
WriteLine(String) |
Zapíše do této instance Writer zprávu následovanou ukončovacím znakem řádku. Výchozí ukončovací znak řádku je návrat řádku následovaný kanálem řádku (\r\n). (Zděděno od TextWriterTraceListener) |
WriteLine(String, String) |
Zapíše název kategorie a zprávu naslouchacímu procesu, který vytvoříte při implementaci TraceListener třídy, následovaný ukončovacím znakem řádku. (Zděděno od TraceListener) |