Condividi tramite


Procedura: creare e inizializzare listener di analisi

Aggiornamento: novembre 2007

Tramite le classi Debug e Trace vengono inviati messaggi a oggetti chiamati listener, che li ricevono e li elaborano. Uno di questi listener, DefaultTraceListener, viene automaticamente creato e inizializzato all'attivazione dell'analisi o del debug. Per ulteriori informazioni, vedere Listener di analisi. Se si desidera che l'output di Trace o Debug venga indirizzato a origini aggiuntive è necessario creare e inizializzare ulteriori listener di analisi.

I listener devono essere creati in base alle esigenze individuali. Potrebbe ad esempio essere necessario un record di testo di tutti gli output di analisi. In questo caso si dovrà creare un listener che, quando attivato, consenta di scrivere tutti gli output in un nuovo file di testo. D'altra parte, potrebbe anche essere necessario semplicemente visualizzare l'output durante l'esecuzione dell'applicazione. In tal caso, è possibile creare un listener con cui indirizzare tutto l'output a una finestra della console. EventLogTraceListener consente di inviare l'output di analisi a un log eventi, mentre TextWriterTraceListener consente di scrivere l'output di analisi in un flusso.

Per creare e inizializzare il listener di analisi

  1. Dichiarare il listener di analisi. Se il listener che si sta creando richiede altri oggetti, dichiarare anche tali oggetti. Nell'esempio seguente viene illustrato come creare un listener per scrivere in un file di testo:

    ' 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. Generare l'output di analisi.

    • Se si desidera che il listener riceva tutti gli output di analisi, aggiungere il listener di analisi all'insieme Listeners.

      Nell'esempio seguente viene mostrato come aggiungere il listener all'insieme Listeners:

      Trace.Listeners.Add(myListener)
      
      System.Diagnostics.Trace.Listeners.Add(myListener);
      

      - oppure -

    • Se non si desidera che il listener riceva tutti gli output di analisi, non aggiungerlo all'insieme Listeners. È possibile generare l'output tramite un listener indipendente dall'insieme Listeners chiamando i metodi di output del listener stesso. Nell'esempio seguente viene illustrato come scrivere una riga in un listener che non è stato inserito nell'insieme Listeners:

      myListener.WriteLine( _
         "This output will not go to the Listeners collection")
      
      myListener.WriteLine( 
         "This output will not go to the Listeners collection");
      
  3. Se il listener non fa parte dell'insieme Listeners, potrebbe essere necessario chiamare il metodo Flush per registrare l'output.

    ' 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();
    

Vedere anche

Attività

Procedura: analizzare codice in un'applicazione

Procedura: aggiungere istruzioni di analisi al codice dell'applicazione

Concetti

Listener di analisi

Opzioni di analisi

Altre risorse

Analisi e strumentazione di applicazioni