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

  1. 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);
    
  2. 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");
      
  3. 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

Modificadores de seguimiento

Otros recursos

Seguimiento e instrumentación de aplicaciones