Share via


Listeners traceren

Bij het gebruik van Trace, Debug en TraceSource, moet u beschikken over een mechanisme voor het verzamelen en vastleggen van de berichten die worden verzonden. Traceringsberichten worden ontvangen door listeners. Het doel van een listener is het verzamelen, opslaan en routeren van traceringsberichten. Listeners leiden de traceringsuitvoer naar een geschikt doel, zoals een logboek, venster of tekstbestand.

Listeners zijn beschikbaar voor de foutopsporings -, tracerings- en TraceSource klassen, die allemaal de uitvoer naar verschillende listenerobjecten kunnen verzenden. Hier volgen de veelgebruikte vooraf gedefinieerde listeners:

  • Een TextWriterTraceListener omleidingsuitvoer naar een exemplaar van de TextWriter klasse of naar iets dat een Stream klasse is. Het kan ook naar de console of naar een bestand schrijven, omdat dit klassen zijn Stream .

  • Een EventLogTraceListener omleidingsuitvoer naar een gebeurtenislogboek.

  • Een verzendt Write- en WriteLine-berichten naar de OutputDebugString en naar de methode Debugger.Log.DefaultTraceListener In Visual Studio worden de foutopsporingsberichten weergegeven in het venster Uitvoer. Mislukte en mislukte Assert-berichten verzenden ook naar de OutputDebugString Windows-API en de methode Debugger.Log , en zorgen ervoor dat er ook een berichtvak wordt weergegeven. Dit gedrag is het standaardgedrag voor foutopsporings - en traceringsberichten , omdat DefaultTraceListener automatisch wordt opgenomen in elke Listeners verzameling en de enige listener is die automatisch wordt opgenomen.

  • Een ConsoleTraceListener tracerings- of foutopsporingsuitvoer naar de standaarduitvoer of de standaardfoutstroom.

  • Een DelimitedListTraceListener tracerings- of foutopsporingsuitvoer naar een tekstschrijver, zoals een stroomschrijver, of naar een stroom, zoals een bestandsstroom. De traceringsuitvoer heeft een tekstindeling met scheidingstekens die door de Delimiter eigenschap zijn opgegeven.

  • Een XmlWriterTraceListener tracerings- of foutopsporingsuitvoer als XML-gecodeerde gegevens naar een TextWriter of naar een, zoals eenStreamFileStream.

Als u wilt dat een listener naast de foutopsporing, tracering en TraceSource uitvoer ontvangt, moet u deze toevoegen aan de Listeners verzameling.DefaultTraceListener Zie Procedure : Trace-listeners maken en initialiseren en traceringslisteners en procedures: TraceSource en filters gebruiken met traceerlisteners voor meer informatie. Elke listener in de verzameling Listeners krijgt dezelfde berichten van de traceringsuitvoermethoden. Stel dat u twee listeners instelt: een TextWriterTraceListener en een EventLogTraceListener. Elke listener ontvangt hetzelfde bericht. De TextWriterTraceListener stuurt de uitvoer naar een stroom en de EventLogTraceListener stuurt de uitvoer naar een gebeurtenislogboek.

In het volgende voorbeeld ziet u hoe u uitvoer naar de verzameling Listeners verzendt.

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

Fouten opsporen en traceren delen dezelfde listeners-verzameling , dus als u een listenerobject toevoegt aan een verzameling Debug.Listeners in uw toepassing, wordt deze ook toegevoegd aan de verzameling Trace.Listeners .

In het volgende voorbeeld ziet u hoe u een listener gebruikt om traceringsgegevens naar een console te verzenden:

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

Door ontwikkelaars gedefinieerde listeners

U kunt uw eigen listeners definiƫren door deze over te nemen van de basisklasse TraceListener en de methoden ervan te overschrijven met uw aangepaste methoden. Zie de naslaginformatie over .NET Framework voor meer informatie over het maken van door ontwikkelaars gedefinieerde listeners TraceListener .

Zie ook