Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

32.6. TraceSource en TraceInformation

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

32.6.1. TraceSource Klasse

De hiervoor behandelde Trace en Debug klassen zijn bruikbaar om eenvoudige boodschappen (tekst) te registreren op de debug- of tracemedia (de Trace.Listeners).  Men deed dit aan de hand van Shared methods als Write, WriteIf, WriteLine, WriteLineIf, Assert en Fail.

De mogelijkheden bij het gebruik van deze klassen zijn beperkt.  Het gaat steeds om een eenvoudige tekst als debug of trace informatie, die dan nog eens expliciet door de caller moet worden bepaald.

Meer mogelijkheden biedt het gebruik van de System.Diagnostics.TraceSource klasse.

De bedoeling is hier een instantie of meerdere instanties te maken van deze klasse, waarbij per instantie kan worden bepaald (aan de hand van filters) welke boodschappen naar de listeners worden gezonden.

32.6.2. TraceInformation

Het gebruik van deze TraceSource klasse vereist wat meer codeerwerk dan de hiervoor behandelde Trace en Debug klassen.

Om te starten een eenvoudig voorbeeld :
Visual Basic 2012 Broncode - Codevoorbeeld 800
Imports System.Diagnostics
#Const TRACE = True
Class ExampleWithDefaultListener
    Public Shared Sub Main()
        Dim traceSource As New TraceSource("myTraceSource", SourceLevels.All)
        traceSource.TraceInformation("Message 1")
        traceSource.TraceInformation("Message 2")
    End Sub
End Class
Visual Studio : In het Output toolvenster verschijnt het volgende :
myTraceSource Information: 0 : Message 1
myTraceSource Information: 0 : Message 2
De naam van de TraceSource moet worden ingesteld, dit kan door deze als eerste argumentwaarde aan de constructor van deze klasse door te geven.
Doorgaans wordt de naam van de applicatie, component of assembly te gebruiken voor de naam van deze TraceSource.  Deze naam wordt immers opgenomen in de boodschap, waardoor het duidelijk werd wie juist deze boodschap heeft laten registreren.

De SourceLevels enumeratiewaarde voor de TraceSource geeft aan naar welke boodschappen de listeners van deze TraceSource ( TraceSource.Listeners) luisteren.

In dit geval worden "information" boodschappen getraced, dit kan via de TraceInformation method van de TraceSource klasse.  Doordat hier de het traceSource object alle boodschappen (SourceLevels.All) doorzendt naar de listeners, zullen ook deze information boodschappen ( SourceLevels.Informations) worden geregistreerd.

We hebben geen aanpassing aangebracht aan welke listeners deze TraceSource heeft, waardoor deze boodschappen enkel bij de DefaultListener terecht komen.
In dit geval brengt de DefaultListener de boodschappen in het Output toolvenster, en welk in volgende vorm : tracesource_name trace_event_type: message_ID : message

Via de TraceInformation method kunnen we zelf geen ID voor deze boodschap uitkiezen, waardoor hier gewoon 0 wordt genomen.  Verderop meer over deze IDs.
Het soort van boodschap is hier dus een gewone informatie boodschap.

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.