Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.
Ao usar Trace, Debug e TraceSource, você deve ter um mecanismo para coletar e gravar as mensagens enviadas. As mensagens de rastreamento são recebidas pelos ouvintes. O objetivo de um ouvinte é coletar, armazenar e rotear mensagens de rastreamento. Os ouvintes direcionam a saída de rastreamento para um destino apropriado, como um log, uma janela ou um arquivo de texto.
Os listeners estão disponíveis para as Debug, Trace e TraceSource classes, cada uma das quais pode enviar seu output para uma variedade de objetos de listener. A seguir estão os ouvintes predefinidos comumente usados:
Um TextWriterTraceListener redireciona a saída para uma instância da TextWriter classe ou para qualquer coisa que seja uma Stream classe. Ele também pode gravar no console ou em um arquivo, porque essas são Stream classes.
Um EventLogTraceListener redireciona a saída para um log de eventos.
A DefaultTraceListener emite mensagens Write e WriteLine para o OutputDebugString e para o método Debugger.Log . No Visual Studio, isso leva a que as mensagens de depuração apareçam na janela de Saída. As mensagens Fail e failed Assert também emitem para a API do Windows OutputDebugString e para o método Debugger.Log , além de fazer com que uma caixa de mensagem seja exibida. Esse comportamento é o comportamento padrão para mensagens de Debug e Trace, porque o DefaultTraceListener é incluído automaticamente em cada coleção de ouvintes e é o único ouvinte incluído por padrão.
A ConsoleTraceListener direciona a saída de rastreamento ou depuração para a saída padrão ou para o fluxo de erro padrão.
Um DelimitedListTraceListener direciona a saída de rastreamento ou depuração para um gravador de texto, como um gravador de fluxo, ou para um fluxo, como um fluxo de arquivo. A saída de rastreio está em um formato de texto delimitado que usa o delimitador especificado pela propriedade Delimiter.
Um XmlWriterTraceListener transmite a saída de rastreamento ou depuração como dados codificados em XML para um TextWriter ou um Stream, como um FileStream.
Se você quiser que qualquer escutador além do DefaultTraceListener receba Debug, Trace e TraceSource saída, você deve adicioná-lo à coleção Listeners
. Para obter mais informações, consulte Como criar e inicializar ouvintes de rastreamento e Como usar TraceSource e filtros com ouvintes de rastreamento. Qualquer ouvinte na coleção Listeners recebe as mesmas mensagens dos métodos de saída de rastreamento. Por exemplo, suponha que você configure dois ouvintes: um TextWriterTraceListener e um EventLogTraceListener. Cada ouvinte recebe a mesma mensagem. O TextWriterTraceListener direcionaria sua saída para um fluxo e o EventLogTraceListener direcionaria sua saída para um log de eventos.
O exemplo a seguir mostra como enviar a saída para a coleção Listeners .
' Use this example when debugging.
Debug.WriteLine("Error in Widget 42")
' Use this example when tracing.
Trace.WriteLine("Error in Widget 42")
// Use this example when debugging.
System.Diagnostics.Debug.WriteLine("Error in Widget 42");
// Use this example when tracing.
System.Diagnostics.Trace.WriteLine("Error in Widget 42");
Debug e trace compartilham a mesma coleção Listeners , portanto, se você adicionar um objeto listener a uma coleção Debug.Listeners em seu aplicativo, ele também será adicionado à coleção Trace.Listeners .
O exemplo a seguir mostra como usar um ouvinte para enviar informações de rastreamento para um console:
Trace.Listeners.Clear()
Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
System.Diagnostics.Trace.Listeners.Clear();
System.Diagnostics.Trace.Listeners.Add(
new System.Diagnostics.TextWriterTraceListener(Console.Out));
Developer-Defined Ouvintes
Você pode definir seus próprios ouvintes herdando da classe base TraceListener e substituindo seus métodos por seus métodos personalizados. Para obter mais informações sobre como criar ouvintes definidos pelo desenvolvedor, consulte a referência do .NET Framework em TraceListener.