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 de 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 IDisposable interface. Quando terminar de usar esse tipo ou objeto, você deverá descartá-lo de forma direta ou indireta. 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 (no Visual Basic). Para obter mais informações, consulte a seção "Usando um objeto que implementa idisposable" no tópico da IDisposable interface.
Quando a saída de rastreamento e depuração é habilitada, as ConsoleTraceListener mensagens são gravadas no fluxo especificadoSystem.Console, que é semelhante à maneira como as mensagens são escritas com os métodos ou Console.WriteLine os Console.Write métodos. Em um aplicativo de console, a saída e o System.Console erro transmitem mensagens de gravação para a janela do console existente ou você pode redirecionar os fluxos para gravar em uma System.IO.TextWriter instância.
Note
Se o console não existir, como em um aplicativo baseado em Windows, as mensagens gravadas no console não serão exibidas.
Adicione um ConsoleTraceListener objeto à coleção apropriada Listeners se desejar que as mensagens sejam gravadas por meio TraceTraceSourceou Debug gravadas no console. Além disso, você pode escrever mensagens diretamente no console usando os métodos ou Trace.WriteLine os Trace.Write métodos.
Note
As Debug classes e as classes Trace compartilham a mesma TraceListenerCollection coleção, acessada 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 escritas por meio do e System.Diagnostics.Trace das System.Diagnostics.Debug classes serão efetivamente ignoradas. A sintaxe para habilitar a saída de rastreamento e 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 seu código ou adicione #define DEBUG à parte superior do arquivo. Em 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 seu código ou adicione #define TRACE à parte superior do arquivo. Em 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 aplicativos .NET Framework, você pode adicionar um objeto ConsoleTraceListener à coleção Listeners por meio do arquivo de configuração do aplicativo. Adicione o ConsoleTraceListener objeto em seu código para gravar 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 classes ou Debug as Trace classes. 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 aplicativos .NET Framework, para direcionar todas as mensagens de rastreamento e depuração para o console enquanto o aplicativo é executado, adicione um objeto ConsoleTraceListener ao arquivo de configuração do aplicativo. O exemplo a seguir adiciona um ConsoleTraceListener objeto nomeado configConsoleListener à Listeners 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 <os ouvintes>.
Construtores
| Nome | Description |
|---|---|
| ConsoleTraceListener() |
Inicializa uma nova instância da classe com saída ConsoleTraceListener de rastreamento gravada no fluxo de saída padrão. |
| ConsoleTraceListener(Boolean) |
Inicializa uma nova instância da classe com uma opção ConsoleTraceListener para gravar a saída de rastreamento no fluxo de saída padrão ou no fluxo de erros padrão. |
Propriedades
| Nome | Description |
|---|---|
| Attributes |
Obtém os atributos do ouvinte de rastreamento personalizado definidos no arquivo de configuração do 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 isso TraceListener. (Herdado de TraceListener) |
| NeedIndent |
Obtém ou define um valor que indica se deve recuar a saída. (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 gravador de texto que recebe a saída de rastreamento ou depuração. (Herdado de TextWriterTraceListener) |
Métodos
| Nome | Description |
|---|---|
| Close() |
Fecha a saída para o fluxo especificado para esse ouvinte de rastreamento. |
| Close() |
Fecha para Writer que ele não receba mais a saída de rastreamento ou 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 esse TextWriterTraceListener objeto. (Herdado de TextWriterTraceListener) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Fail(String, String) |
Emite uma mensagem de erro e uma mensagem de erro detalhada para o ouvinte que você cria ao implementar a TraceListener classe. (Herdado de TraceListener) |
| Fail(String) |
Emite uma mensagem de erro para o ouvinte que você cria ao implementar a TraceListener classe. (Herdado de TraceListener) |
| Flush() |
Libera o buffer de saída para o Writer. (Herdado de TextWriterTraceListener) |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
| GetSupportedAttributes() |
Obtém os atributos personalizados compatíveis com o ouvinte de rastreamento. (Herdado de TraceListener) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Grava informações de rastreamento, um objeto de dados e informações de evento na 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 para a saída específica do ouvinte. (Herdado de TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Grava informações de rastreamento, uma matriz formatada de objetos e informações de 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) |
Grava informações de rastreamento e 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 para a saída específica do ouvinte. (Herdado de TraceListener) |
| Write(Object, String) |
Grava um nome de categoria e o valor do método do ToString() objeto no ouvinte que você cria ao implementar a TraceListener classe. (Herdado de TraceListener) |
| Write(Object) |
Grava o valor do método do ToString() objeto no ouvinte que você cria ao implementar a TraceListener classe. (Herdado de TraceListener) |
| Write(String, String) |
Grava um nome de categoria e uma mensagem no ouvinte que você cria ao implementar a TraceListener classe. (Herdado de TraceListener) |
| Write(String) |
Grava uma mensagem na instância.Writer (Herdado de TextWriterTraceListener) |
| WriteIndent() |
Grava o recuo no ouvinte que você cria ao implementar essa classe e redefine a NeedIndent propriedade para |
| WriteLine(Object, String) |
Grava um nome de categoria e o valor do método do ToString() objeto no ouvinte que você cria quando implementa a TraceListener classe, seguido por um terminador de linha. (Herdado de TraceListener) |
| WriteLine(Object) |
Grava o valor do método do ToString() objeto no ouvinte que você cria quando implementa a TraceListener classe, seguido por um terminador de linha. (Herdado de TraceListener) |
| WriteLine(String, String) |
Grava um nome de categoria e uma mensagem para o ouvinte que você cria ao implementar a TraceListener classe, seguido por um terminador de linha. (Herdado de TraceListener) |
| WriteLine(String) |
Grava uma mensagem na instância seguida por um terminador de Writer linha. O terminador de linha padrão é um retorno de carro seguido por um feed de linha (\r\n). (Herdado de TextWriterTraceListener) |