ConsoleTraceListener Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Direciona a saída de rastreio ou de depuração quer para a saída padrão quer 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 seguinte implementa uma aplicação de consola composta por uma classe com dois métodos públicos.
O Main método examina os argumentos da linha de comandos e determina se a saída do traço deve ser direcionada para o fluxo de erro padrão ou para o fluxo de saída padrão.
Main cria e inicializa um ConsoleTraceListener objeto para o fluxo de saída especificado Console , e adiciona este objeto à coleção de ouvintes de traços. Depois, chama o WriteEnvironmentInfoToTrace método, que escreve detalhes sobre o ambiente em execução e a configuração do ouvinte do traço para a saída do traço.
Quando a aplicação de exemplo é executada, os detalhes do ambiente e da configuração do traço são escritos no fluxo de saída especificado da consola através 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
Observações
Usa a ConsoleTraceListener classe para escrever mensagens de rastreio e depuração para a consola. Podes inicializar um ConsoleTraceListener objeto para escrever mensagens de rastreio para o Console.Out stream ou para o Console.Error stream.
Importante
Este tipo implementa a interface IDisposable. Quando terminar de usar o tipo, você deve eliminá-lo direta ou indiretamente. Para descartar diretamente o tipo, chama-se o seu Dispose método numtry/catch bloco. Para descartá-lo indiretamente, use uma construção de linguagem como using (em C#) ou Using (em 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 está ativada, as ConsoleTraceListener mensagens são escritas no fluxo especificadoSystem.Console, o que é semelhante à forma como as mensagens são escritas com os Console.Write métodos ou.Console.WriteLine Numa aplicação de consola, os fluxos System.Console de saída e de erro escrevem mensagens para a janela existente da consola, ou pode redirecionar os fluxos para escrever numa System.IO.TextWriter instância.
Note
Se a consola não existir, como numa aplicação baseada no Windows, as mensagens escritas na consola não são exibidas.
Adicione um ConsoleTraceListener objeto à coleção apropriada Listeners se quiser que mensagens sejam escritas através de Trace, TraceSource, ou Debug que sejam escritas para a consola. Além disso, pode escrever mensagens diretamente para a consola usando os Trace.Write métodos ou.Trace.WriteLine
Note
As Debug classes e Trace partilham a mesma TraceListenerCollection coleção, acedida através das respetivas Listeners propriedades. Se adicionar um ConsoleTraceListener objeto à coleção usando uma destas classes, a outra classe usa automaticamente o mesmo ouvinte.
A maioria dos compiladores permite a saída de traço e depuração através de flags de compilação condicional. Se não ativares o rastreio ou a depuração, as mensagens escritas através das System.Diagnostics.Debug classes and System.Diagnostics.Trace são efetivamente ignoradas. A sintaxe para permitir a saída de traços e depuração é específica do compilador; se usar compiladores diferentes de C# ou Visual Basic, consulte a documentação do seu compilador.
Para permitir a depuração em C#, adicione a flag /d:DEBUGà linha de comandos do compilador quando compilar o seu código, ou pode adicionar #define DEBUG no topo do seu ficheiro. No Visual Basic, adicione a flag /d:DEBUG=True à linha de comandos do compilador.
Para permitir o traçado em C#, adicione a bandeira /d:TRACE à linha de comandos do compilador quando compilar o seu código, ou adicione #define TRACE no topo do seu ficheiro. No Visual Basic, adicione a flag /d:TRACE=True à linha de comandos do compilador.
Podes adicionar um ConsoleTraceListener objeto à Listeners coleção no teu código. Ou, para .NET aplicações Framework, podes adicionar um objeto ConsoleTraceListener à coleção Listeners através do ficheiro de configuração da aplicação. Adicione o ConsoleTraceListener objeto no seu código para escrever mensagens para uma secção de código específica ou caminho de execução. Adicione o ConsoleTraceListener objeto no ficheiro de configuração da sua aplicação para direcionar todas as mensagens de rastreio e depuração para a consola enquanto a aplicação é executada.
Para escrever mensagens de rastreio e depuração na consola para uma secção específica de código, inicialize um ConsoleTraceListener objeto e adicione-o à Listeners coleção. Instrumente a secção de código que contém mensagens usando as Trace classes ou Debug . No final da secção do código, remova o ConsoleTraceListener objeto da Listeners coleção e chame o Close método no ConsoleTraceListener.
Para .NET aplicações Framework, para direcionar todas as mensagens de rastreio e depuração para a consola enquanto a aplicação é executada, adicione um objeto ConsoleTraceListener ao ficheiro de configuração da aplicação. O exemplo seguinte acrescenta 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 detalhes sobre a adição de ouvintes de rastreamento no ficheiro de configuração da aplicação, consulte <ouvintes>.
Construtores
| Name | Description |
|---|---|
| ConsoleTraceListener() |
Inicializa uma nova instância da ConsoleTraceListener classe com saída de traço gravada no fluxo de saída padrão. |
| ConsoleTraceListener(Boolean) |
Inicializa uma nova instância da ConsoleTraceListener classe com a opção de escrever saída de traço para o fluxo de saída padrão ou para o fluxo de erro padrão. |
Propriedades
| Name | Description |
|---|---|
| Attributes |
Obtém os atributos personalizados do ouvinte de rastreio definidos no ficheiro de configuração da aplicação. (Herdado de TraceListener) |
| Filter |
Obtém ou define o filtro de traço para o ouvinte de traços. (Herdado de TraceListener) |
| IndentLevel |
Obtém ou define o nível da recuação. (Herdado de TraceListener) |
| IndentSize |
Obtém ou define o número de espaços num reentro. (Herdado de TraceListener) |
| IsThreadSafe |
Recebe um valor que indica se o ouvinte de rastreio é seguro para threads. (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 deve indentar a saída. (Herdado de TraceListener) |
| TraceOutputOptions |
Obtém ou define as opções de saída do traço. (Herdado de TraceListener) |
| Writer |
Obtém ou define o escritor de texto que recebe o resultado de rastreio ou depuração. (Herdado de TextWriterTraceListener) |
Métodos
| Name | Description |
|---|---|
| Close() |
Fecha a saída do fluxo especificado para este ouvinte de rastreamento. |
| Close() |
Fecha o Writer para que já não receba saída de rastreamento ou depuração. (Herdado de TextWriterTraceListener) |
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos utilizados pelo TraceListener. (Herdado de TraceListener) |
| Dispose(Boolean) |
Elimina este 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 crias quando implementas a TraceListener classe. (Herdado de TraceListener) |
| Fail(String) |
Emite uma mensagem de erro para o ouvinte que crias quando implementas a TraceListener classe. (Herdado de TraceListener) |
| Flush() |
Limpa o buffer de saída para o Writer. (Herdado de TextWriterTraceListener) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetSupportedAttributes() |
Obtém os atributos personalizados suportados pelo ouvinte de rastreamento. (Herdado de TraceListener) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Escreve informação de traço, um objeto de dados e informações de eventos para a saída específica do ouvinte. (Herdado de TraceListener) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Escreve informação de rastreio, um array de objetos de dados e informação de eventos para a saída específica do ouvinte. (Herdado de TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Escreve informação de rastreio, um array formatado de objetos e informações de eventos para a saída específica do ouvinte. (Herdado de TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Escreve informação de rastreio, uma mensagem e informações de eventos para a saída específica do ouvinte. (Herdado de TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Escreve informações de rastreio e evento para a saída específica do ouvinte. (Herdado de TraceListener) |
| TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Escreve informação de rastreio, uma mensagem, uma identidade de atividade relacionada e informações de eventos para a saída específica do ouvinte. (Herdado de TraceListener) |
| Write(Object, String) |
Escreve um nome de categoria e o valor do método do objeto ToString() para o ouvinte que crias quando implementas a TraceListener classe. (Herdado de TraceListener) |
| Write(Object) |
Escreve o valor do método do objeto ToString() para o ouvinte que crias quando implementas a TraceListener classe. (Herdado de TraceListener) |
| Write(String, String) |
Escreve um nome de categoria e uma mensagem para o ouvinte que crias quando implementas a TraceListener classe. (Herdado de TraceListener) |
| Write(String) |
Escreve uma mensagem para o Writer. (Herdado de TextWriterTraceListener) |
| WriteIndent() |
Escreve o indentamento para o ouvinte que crias quando implementas esta classe, e redefine a NeedIndent propriedade para |
| WriteLine(Object, String) |
Escreve um nome de categoria e o valor do método do objeto ToString() para o ouvinte que crias quando implementas a TraceListener classe, seguido de um terminador de linha. (Herdado de TraceListener) |
| WriteLine(Object) |
Escreve o valor do método do ToString() objeto para o ouvinte que crias quando implementas a TraceListener classe, seguido de um terminador de linha. (Herdado de TraceListener) |
| WriteLine(String, String) |
Escreve um nome de categoria e uma mensagem para o ouvinte que crias quando implementas a TraceListener classe, seguido de um terminador de linha. (Herdado de TraceListener) |
| WriteLine(String) |
Escreve uma mensagem nesta instância Writer seguida de um terminador de linha. O terminador de linha por defeito é um retorno de carro seguido de um avanço de linha (\r\n). (Herdado de TextWriterTraceListener) |