Cómo: Crear e inicializar agentes de escucha de seguimiento
Actualización: noviembre 2007
Las clases Debug y Trace envían mensajes a objetos denominados agentes de escucha, los cuales reciben y procesan estos mensajes. Uno de estos agentes de escucha, DefaultTraceListener, se crea y se inicializa automáticamente al habilitar el seguimiento o la depuración. Para obtener más información, vea Agentes de escucha de seguimiento. Si desea que los resultados de Trace o Debug se envíen a otros destinos, deberá crear e inicializar agentes de escucha adicionales.
Los agentes de escucha que cree deberían reflejar sus necesidades particulares. Por ejemplo, podría desear obtener un registro de texto de todo el resultado del seguimiento. En este caso, debería crear un agente de escucha que escriba en un nuevo archivo de texto cuando se active. Por otro lado, podría desear ver los resultados durante la aplicación de la ejecución. En ese caso, podría crear un agente de escucha que enviara todos los resultados a una ventana de consola. El agente de escucha EventLogTraceListener puede enviar los resultados del seguimiento a un registro de eventos, mientras que TextWriterTraceListener puede escribir esos mismos resultados en una secuencia.
Para crear e inicializar un agente de escucha de seguimiento
Declare el agente de escucha de seguimiento. Si el agente que va a crear requiere otros objetos, declárelos también. El siguiente ejemplo muestra cómo crear un agente de escucha que escribe en un archivo de texto:
' Creates the text file that the trace listener will write to. Dim myTraceLog As New System.IO.FileStream("C:\myTraceLog.txt", _ IO.FileMode.OpenOrCreate) ' Creates the new trace listener Dim myListener As New TextWriterTraceListener(myTraceLog)
// Creates the text file that the trace listener will write to. System.IO.FileStream myTraceLog = new System.IO.FileStream("C:\\myTraceLog.txt", System.IO.FileMode.OpenOrCreate); // Creates the new trace listener. System.Diagnostics.TextWriterTraceListener myListener = new System.Diagnostics.TextWriterTraceListener(myTraceLog);
Canalice los resultados del seguimiento.
Si desea que el agente de escucha declarado reciba todos los resultado del seguimiento, agréguelo a la colección Listeners.
El siguiente ejemplo muestra cómo agregar el agente de escucha a la colección Listeners.
Trace.Listeners.Add(myListener)
System.Diagnostics.Trace.Listeners.Add(myListener);
O bien
Si no desea que el agente de escucha reciba el resultado del seguimiento, no lo agregue a la colección Listeners. Puede canalizar la información de seguimiento a través de un agente de escucha independientemente de la colección Listeners si llama a los propios métodos de salida del agente de escucha. El siguiente ejemplo muestra cómo escribir una línea en un agente de escucha que no se encuentra en la colección Listeners:
myListener.WriteLine( _ "This output will not go to the Listeners collection")
myListener.WriteLine( "This output will not go to the Listeners collection");
Si el agente de escucha no es miembro de la colección Listeners, puede que sea necesario llamar al método Flush para registrar el resultado.
' Flushes the buffers of all listeners in the Listeners collection. Trace.Flush() ' Flushes only the buffer of myListener. myListener.Flush()
// Flushes the buffers of all listeners in the Listeners collection. System.Diagnostics.Trace.Flush(); // Flushes only the buffer of myListener. myListener.Flush();
Vea también
Tareas
Cómo: Realizar el seguimiento del código en una aplicación
Cómo: Agregar instrucciones de seguimiento al código de una aplicación
Conceptos
Agentes de escucha de seguimiento