ConsoleTraceListener Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Direciona a saída do rastreamento ou depuração para a saída padrão ou para o fluxo de erro padrão.
public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
- Herança
Exemplos
O exemplo de código a seguir implementa um aplicativo de console que consiste em uma classe com dois métodos públicos.
O Main
método examina os argumentos de linha de comando e determina se a saída de rastreamento deve ser direcionada para o fluxo de erro padrão ou o fluxo de saída padrão. Main
cria e inicializa um ConsoleTraceListener objeto para o fluxo de saída especificado Console e adiciona esse objeto à coleção de ouvintes de rastreamento. Em seguida, ele chama o WriteEnvironmentInfoToTrace
método , que grava detalhes sobre o ambiente em execução e a configuração do ouvinte de rastreamento na saída do rastreamento.
Quando o aplicativo de exemplo é executado, os detalhes de configuração de ambiente e rastreamento são gravados no fluxo de saída do console especificado por meio do ConsoleTraceListener objeto .
// 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
Comentários
Use a ConsoleTraceListener classe para gravar mensagens de rastreamento e depuração no console. Você pode inicializar um ConsoleTraceListener objeto para gravar mensagens de rastreamento no Console.Out fluxo ou no Console.Error fluxo.
Importante
Esse tipo implementa a interface IDisposable. Quando você terminar de usar o tipo, deverá descartá-lo direta ou indiretamente. Para descartar o tipo diretamente, chame seu Dispose método em umtry
/catch
bloco. Para descartá-lo indiretamente, use um constructo de linguagem como using
( em C#) ou Using
(em Visual Basic). Saiba mais na seção "Como usar um objeto que implementa IDisposable" no tópico da interface IDisposable.
Quando a saída de rastreamento e depuração está habilitada, as ConsoleTraceListener mensagens são gravadas no fluxo especificado System.Console , que é semelhante à maneira como as mensagens são gravadas com os Console.Write métodos ou Console.WriteLine . Em um aplicativo de console, a saída e os System.Console fluxos de erro gravam mensagens na janela do console existente ou você pode redirecionar os fluxos para gravar em uma System.IO.TextWriter instância.
Observação
Se o console não existir, como em um aplicativo baseado no Windows, as mensagens gravadas no console não serão exibidas.
Adicione um ConsoleTraceListener objeto à coleção apropriada Listeners se desejar que mensagens escritas por meio Tracede , TraceSourceou Debug sejam gravadas no console. Além disso, você pode gravar mensagens diretamente no console usando os Trace.Write métodos ou Trace.WriteLine .
Observação
As Debug classes e Trace compartilham a mesma TraceListenerCollection coleção, acessadas por meio de suas respectivas Listeners
propriedades. Se você adicionar um ConsoleTraceListener objeto à coleção usando uma dessas classes, a outra classe usará automaticamente o mesmo ouvinte.
A maioria dos compiladores habilita a saída de rastreamento e depuração por meio de sinalizadores de compilação condicional. Se você não habilitar o rastreamento ou a depuração, as mensagens gravadas nas System.Diagnostics.Debug classes e System.Diagnostics.Trace serão efetivamente ignoradas. A sintaxe para habilitar o rastreamento e a saída de depuração é específica do compilador; se você usar compiladores diferentes de C# ou Visual Basic, consulte a documentação do compilador.
Para habilitar a depuração em C#, adicione o sinalizador /d:DEBUGà linha de comando do compilador ao compilar o código ou adicione #define DEBUG à parte superior do arquivo. No Visual Basic, adicione o sinalizador /d:DEBUG=True à linha de comando do compilador.
Para habilitar o rastreamento em C#, adicione o sinalizador /d:TRACE à linha de comando do compilador ao compilar o código ou adicione #define TRACE à parte superior do arquivo. No Visual Basic, adicione o sinalizador /d:TRACE=True à linha de comando do compilador.
Você pode adicionar um ConsoleTraceListener objeto à Listeners coleção em seu código. Ou, para .NET Framework aplicativos, você pode adicionar um ConsoleTraceListener objeto à Listeners coleção por meio do arquivo de configuração do aplicativo. Adicione o ConsoleTraceListener objeto em seu código para escrever mensagens para uma seção de código específica ou caminho de execução. Adicione o ConsoleTraceListener objeto no arquivo de configuração do aplicativo para direcionar todas as mensagens de rastreamento e depuração para o console enquanto o aplicativo é executado.
Para gravar mensagens de rastreamento e depuração no console para uma seção específica do código, inicialize um ConsoleTraceListener objeto e adicione-o Listeners à coleção. Instrumente a seção de código que contém mensagens usando as Trace classes ou Debug . No final da seção de código, remova o ConsoleTraceListener objeto da Listeners coleção e chame o Close método no ConsoleTraceListener.
Para .NET Framework aplicativos, para direcionar todas as mensagens de rastreamento e depuração para o console enquanto o aplicativo é executado, adicione um ConsoleTraceListener objeto ao arquivo de configuração do aplicativo. O exemplo a Listeners seguir adiciona um ConsoleTraceListener objeto chamado configConsoleListener
à coleção.
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Para obter detalhes sobre como adicionar ouvintes de rastreamento no arquivo de configuração do aplicativo, consulte <ouvintes>.
Construtores
ConsoleTraceListener() |
Inicializa uma nova instância da classe ConsoleTraceListener com a saída de rastreamento gravada no fluxo de saída padrão. |
ConsoleTraceListener(Boolean) |
Inicializa uma nova instância da classe ConsoleTraceListener com uma opção para gravar a saída de rastreamento para o fluxo de saída padrão ou para o fluxo de erro padrão. |
Propriedades
Attributes |
Obtém os atributos do ouvinte de rastreamento personalizados definidos no arquivo de configuração de aplicativo. (Herdado de TraceListener) |
Filter |
Obtém ou define o filtro de rastreamento para o ouvinte de rastreamento. (Herdado de TraceListener) |
IndentLevel |
Obtém ou define o nível de recuo. (Herdado de TraceListener) |
IndentSize |
Obtém ou define o número de espaços em um recuo. (Herdado de TraceListener) |
IsThreadSafe |
Obtém um valor que indica se o ouvinte de rastreamento é thread-safe. (Herdado de TraceListener) |
Name |
Obtém ou define um nome para este TraceListener. (Herdado de TraceListener) |
NeedIndent |
Obtém ou define um valor que indica se a saída deve ser recuada. (Herdado de TraceListener) |
TraceOutputOptions |
Obtém ou define as opções de saída de rastreamento. (Herdado de TraceListener) |
Writer |
Obtém ou define o text writer que recebe a saída do rastreamento ou da depuração. (Herdado de TextWriterTraceListener) |
Métodos
Close() |
Fecha a saída para o fluxo especificado para este ouvinte de rastreamento. |
Close() |
Fecha o Writer para que ele não receba mais a saída de rastreamento ou de depuração. (Herdado de TextWriterTraceListener) |
CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
Dispose() |
Libera todos os recursos usados pelo TraceListener. (Herdado de TraceListener) |
Dispose(Boolean) |
Descarta este objeto TextWriterTraceListener. (Herdado de TextWriterTraceListener) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Fail(String) |
Emite uma mensagem de erro para o ouvinte criado ao implementar a classe TraceListener. (Herdado de TraceListener) |
Fail(String, String) |
Emite uma mensagem de erro e uma mensagem de erro detalhada para o ouvinte criado ao implementar a classe TraceListener. (Herdado de TraceListener) |
Flush() |
Libera o buffer de saída para o Writer. (Herdado de TextWriterTraceListener) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância. (Herdado de MarshalByRefObject) |
GetSupportedAttributes() |
Obtém os atributos personalizados com suporte no ouvinte de rastreamento. (Herdado de TraceListener) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Grava as informações de rastreamento, um objeto de dados e informações de evento para a saída específica do ouvinte. (Herdado de TraceListener) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Grava informações de rastreamento, uma matriz de objetos de dados e informações de evento na saída específica do ouvinte. (Herdado de TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Grava as informações de rastreamento e evento para a saída específica do ouvinte. (Herdado de TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Grava informações de rastreamento, uma mensagem e informações de evento na saída específica do ouvinte. (Herdado de TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Grava informações de rastreamento, uma matriz de objetos formatada e informações de evento na saída específica do ouvinte. (Herdado de TraceListener) |
TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Grava informações de rastreamento, uma mensagem, uma identidade de atividade relacionada e informações de evento na saída específica do ouvinte. (Herdado de TraceListener) |
Write(Object) |
Grava o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener. (Herdado de TraceListener) |
Write(Object, String) |
Grava um nome de categoria e o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener. (Herdado de TraceListener) |
Write(String) |
Grava uma mensagem no Writer desta instância. (Herdado de TextWriterTraceListener) |
Write(String, String) |
Grava um nome de categoria e uma mensagem no ouvinte criado ao implementar a classe TraceListener. (Herdado de TraceListener) |
WriteIndent() |
Grava o recuo para o ouvinte criar durante a implementação dessa classe e redefine a propriedade NeedIndent para |
WriteLine(Object) |
Grava o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha. (Herdado de TraceListener) |
WriteLine(Object, String) |
Grava um nome de categoria e o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha. (Herdado de TraceListener) |
WriteLine(String) |
Grava uma mensagem no Writer desta instância seguido por um terminador de linha. O terminador de linha padrão é um retorno de carro seguido por uma alimentação de linha (\r\n). (Herdado de TextWriterTraceListener) |
WriteLine(String, String) |
Grava um nome de categoria e uma mensagem no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha. (Herdado de TraceListener) |