Ouvintes de rastreamento.
Ao usar rastreamento, Debug e TraceSource, você deve ter um mecanismo para coletar e registrar as mensagens que são enviadas. Mensagens de rastreamento são recebidas por ouvintes. A finalidade de um ouvinte é coletar, armazenar e rotear mensagens de rastreamento. Ouvintes de direcionam a saída de rastreamento para um destino adequado, como, por exemplo, um log, uma janela ou um arquivo de texto.
Ouvintes estão disponíveis para o Debug, rastreamento, e TraceSource classes, cada um deles pode enviar sua saída para uma variedade de objetos de ouvinte. Os ouvintes predefinidos comumente usados são:
A TextWriterTraceListener redireciona a saída para uma instância da TextWriter de classe ou para qualquer coisa que seja um Stream classe. Também ele pode gravar no console ou em um arquivo, pois esses são Stream classes.
Um EventLogTraceListener redireciona a saída para um log de eventos.
A DefaultTraceListener emite gravar e WriteLine mensagens para o OutputDebugString e o Debugger.Log método. No Visual Studio, isso faz com que as mensagens de depuração sejam exibidas na janela Saída. Falha e com falha Assert mensagens também emissão para o OutputDebugString API do Windows e o Debugger.Log método e causa uma caixa de mensagem a ser exibida. Esse comportamento é o comportamento padrão para Debug e rastreamento mensagens, pois DefaultTraceListener é incluído automaticamente na cada Listeners coleção e é o ouvinte somente incluído automaticamente.
A ConsoleTraceListener direciona rastreamento ou depuração saída para a saída padrão ou o fluxo de erro padrão.
A DelimitedListTraceListener direciona rastreamento ou depuração saída para um gravador de texto, como, por exemplo, um gravador de fluxo, ou para um fluxo, como, por exemplo, um fluxo de arquivos. A saída de rastreamento é em um formato de texto delimitado que usa o delimitador especificado pelo Delimiter propriedade.
Um XmlWriterTraceListener direciona rastreamento ou depuração saída como dados codificados em XML, para um TextWriter ou para um Stream, como um FileStream.
Se você desejar que qualquer ouvinte, além do DefaultTraceListener para receber Debug, rastreamento e TraceSource de saída, você deve adicioná-lo para o Listeners coleção. Para obter mais informações, consulte Como: Criar e inicializar Listeners de rastreamento e Como: Usar TraceSource e filtros com Listeners de rastreamento. Qualquer ouvinte no ouvintes coleção obtém as mesmas mensagens de rastreamento métodos de saída. Por exemplo, suponha que você configurar dois ouvintes: um TextWriterTraceListener e um EventLogTraceListener. Cada ouvinte recebe a mesma mensagem. O TextWriterTraceListener seria direcionar sua saída em um fluxo e o EventLogTraceListener seria direcionar sua saída para um log de eventos.
O exemplo a seguir mostra como enviar a saída de ouvintes coleção.
' 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 compartilharem os mesmos ouvintes coleção, portanto, se você adicionar um objeto de ouvinte para um Debug.Listeners coleção em seu aplicativo, ele é adicionado a Trace.Listeners coleção também.
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));
Definidos pelo desenvolvedor ouvintes
Você pode definir seus próprios ouvintes herdando o TraceListener base de classe e seus métodos com seus métodos personalizados de substituição. Para obter mais informações sobre como criar ouvintes definidos pelo desenvolvedor, consulte TraceListener na.Referência do NET Framework.
Consulte também
Referência
Conceitos
Introdução à instrumentação e rastreamento