Condividi tramite


Procedura: creare e inizializzare listener di traccia

Tramite le classi System.Diagnostics.Debug e System.Diagnostics.Trace vengono inviati messaggi a oggetti chiamati listener, che li ricevono e li elaborano. Quando si abilita la traccia o il debug, viene automaticamente creato e inizializzato un listener di questo tipo: System.Diagnostics.DefaultTraceListener. Se si desidera indirizzare l'output di Trace o Debug a origini aggiuntive, è necessario creare e inizializzare listener di traccia aggiuntivi.

I listener devono essere creati in base alle esigenze dell'applicazione. Se, ad esempio, si desidera un record di testo di tutti gli output di traccia, creare un listener TextWriterTraceListener, che, quando è abilitato, consente di scrivere tutto l'output in un nuovo file di testo. Se invece si desidera visualizzare l'output solo durante l'esecuzione dell'applicazione, creare un listener ConsoleTraceListener, che consente di indirizzare tutto l'output a una finestra della console. EventLogTraceListener consente di indirizzare l'output di traccia a un log eventi. Per ulteriori informazioni, vedere Listener di traccia.

È possibile creare listener di traccia in un file di configurazione dell'applicazione o nel codice. È consigliabile utilizzare file di configurazione dell'applicazione, in quanto consentono di aggiungere, modificare o rimuovere listener di traccia senza dover modificare il codice.

Per creare e utilizzare un listener di traccia utilizzando un file di configurazione

  1. Dichiarare il listener di traccia nel file di configurazione dell'applicazione. Se il listener che si sta creando richiede altri oggetti, dichiarare anche tali oggetti. Nell'esempio seguente viene illustrato come creare un listener denominato myListener per scrivere nel file di testo TextWriterOutput.log.

    <configuration>
      <system.diagnostics>
        <trace autoflush="false" indentsize="4">
          <listeners>
            <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" />
            <remove name="Default" />
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>
    
  2. Utilizzare la classe Trace nel codice per scrivere un messaggio nei listener di traccia.

    Trace.TraceInformation("Test message.")
    ' You must close or flush the trace to empty the output buffer.
    Trace.Flush()
    
    Trace.TraceInformation("Test message.");
    // You must close or flush the trace to empty the output buffer.
    Trace.Flush();
    

Per creare e utilizzare un listener di traccia nel codice

  • Aggiungere il listener di traccia all'insieme Listeners e inviare le informazioni di traccia ai listener.

    Trace.Listeners.Add(New TextWriterTraceListener("TextWriterOutput.log", "myListener"))
    Trace.TraceInformation("Test message.")
    ' You must close or flush the trace to empty the output buffer.
    Trace.Flush()
    
    Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener"));
    Trace.TraceInformation("Test message.");
    // You must close or flush the trace to empty the output buffer.
    Trace.Flush();
    

    - oppure -

  • Se non si desidera che il listener riceva l'output di traccia, non aggiungerlo all'insieme Listeners. È possibile emettere output tramite un listener indipendentemente 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 è incluso nell'insieme Listeners.

    Dim myListener As New TextWriterTraceListener("TextWriterOutput.log", "myListener")
    myListener.WriteLine("Test message.")
    ' You must close or flush the trace listener to empty the output buffer.
    myListener.Flush()
    
    TextWriterTraceListener myListener = new TextWriterTraceListener("TextWriterOutput.log", "myListener");
    myListener.WriteLine("Test message.");
    // You must close or flush the trace listener to empty the output buffer.
    myListener.Flush();
    

Vedere anche

Attività

Procedura: tracciare il codice in un'applicazione

Procedura: aggiungere istruzioni di traccia al codice dell'applicazione

Concetti

Listener di traccia

Opzioni di traccia

Altre risorse

Traccia e strumentazione di applicazioni