|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Bij creatie van een TraceSource object kan via de constructor worden ingesteld welke traceboodschappen ( van welke TraceEventType ) naar de listeners worden doorgezonden. Dit kan ook bepaald worden aan de hand van de Switch property van het TraceSource object. Deze Switch property levert een SourceSwitch object op. Deze heeft dan op zijn beurt een ( settable ) Level property van het type SourceLevels.
Het is deze Level property die in onderstaand voorbeeld wordt gebruikt : Visual Basic 2010 Broncode Imports System.Diagnostics # Const TRACE = TrueClass ExampleSourceLevels Private Shared traceSource As TraceSource Public Shared Sub Main() traceSource = New TraceSource( "myTraceSource") traceSource.Listeners.Add( New ConsoleTraceListener) Dim allSourceLevels As SourceLevels() = _ New SourceLevels() {SourceLevels.Off, _ SourceLevels.Critical, _ SourceLevels.Error, _ SourceLevels.Warning, _ SourceLevels.Information, _ SourceLevels.Verbose, _ SourceLevels.ActivityTracing, _ SourceLevels.All} For Each sourceLevels As SourceLevels In allSourceLevels TraceEvents(sourceLevels) Next Console.ReadLine() End Sub Public Shared Sub TraceEvents( ByVal sourceLevels As SourceLevels) traceSource.Switch.Level = sourceLevels.Information traceSource.TraceEvent(TraceEventType.Information, 0, _ "with SourceLevels." & _ sourceLevels.ToString() & " : ") traceSource.Switch.Level = sourceLevels traceSource.TraceEvent(TraceEventType.Critical, 1, "Critical Message") traceSource.TraceEvent(TraceEventType.Error, 2, "Error Message") traceSource.TraceEvent(TraceEventType.Warning, 3, "Warning Message") traceSource.TraceEvent(TraceEventType.Information, 4, _ "Information Message") traceSource.TraceEvent(TraceEventType.Verbose, 5, "Verbose Message") traceSource.TraceEvent(TraceEventType.Resume, 6, "Resume Message") traceSource.TraceEvent(TraceEventType.Start, 7, "Start Message") traceSource.TraceEvent(TraceEventType.Stop, 8, "Stop Message") traceSource.TraceEvent(TraceEventType.Suspend, 9, "Suspend Message") traceSource.TraceEvent(TraceEventType.Transfer, 10, "Transfer Message") End SubEnd ClassDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Op de console en in het Output toolvenster verschijnt het volgende : Console Application Output myTraceSource Information: 0 : with SourceLevels.Off :
myTraceSource Information: 0 : with SourceLevels.Critical :
myTraceSource Critical: 1 : Critical Message
myTraceSource Information: 0 : with SourceLevels.Error :
myTraceSource Critical: 1 : Critical Message
myTraceSource Error: 2 : Error Message
myTraceSource Information: 0 : with SourceLevels.Warning :
myTraceSource Critical: 1 : Critical Message
myTraceSource Error: 2 : Error Message
myTraceSource Warning: 3 : Warning Message
myTraceSource Information: 0 : with SourceLevels.Information :
myTraceSource Critical: 1 : Critical Message
myTraceSource Error: 2 : Error Message
myTraceSource Warning: 3 : Warning Message
myTraceSource Information: 4 : Information Message
myTraceSource Information: 0 : with SourceLevels.Verbose :
myTraceSource Critical: 1 : Critical Message
myTraceSource Error: 2 : Error Message
myTraceSource Warning: 3 : Warning Message
myTraceSource Information: 4 : Information Message
myTraceSource Verbose: 5 : Verbose Message
myTraceSource Information: 0 : with SourceLevels.ActivityTracing :
myTraceSource Resume: 6 : Resume Message
myTraceSource Start: 7 : Start Message
myTraceSource Stop: 8 : Stop Message
myTraceSource Suspend: 9 : Suspend Message
myTraceSource Transfer: 10 : Transfer Message
myTraceSource Information: 0 : with SourceLevels.All :
myTraceSource Critical: 1 : Critical Message
myTraceSource Error: 2 : Error Message
myTraceSource Warning: 3 : Warning Message
myTraceSource Information: 4 : Information Message
myTraceSource Verbose: 5 : Verbose Message
myTraceSource Resume: 6 : Resume Message
myTraceSource Start: 7 : Start Message
myTraceSource Stop: 8 : Stop Message
myTraceSource Suspend: 9 : Suspend Message
myTraceSource Transfer: 10 : Transfer Message Merk op dat als je bijvoorbeeld SourceLevels.Information gebruikt voor een TraceSource dat dan zowel de boodschappen van TraceEventType Critical, Error, Warning en Information worden doorgezonden. SourceLevels.Information is dus nog meer dan SourceLevels.Critical Or SourceLevels.Error Or SourceLevels.Warning. SourceLevels.All is gelijk aan SourceLevels.Verbose Or SourceLevels.ActivityTracing. Beetje vreemd dus dat de definitie van de SourceLevels enumeratie het <Flags> attribuut bevat. 31.12.1. SwitchSourceWe kunnen ook de Switch property van een TraceSoure object instellen door gebruik te maken van SwitchSource objecten : Visual Basic 2010 Broncode Imports System.Diagnostics # Const TRACE = TrueClass ExampleSourceSwitch Private Shared traceSource As TraceSource Public Shared Sub Main() traceSource = New TraceSource( "myTraceSource") traceSource.Listeners.Add( New ConsoleTraceListener) Dim sourceSwitch1 As New SourceSwitch( "warningOrMoreSeriousSwitch", _ "Warning") Dim sourceSwitch2 As New SourceSwitch( "errorOrMoreSeriousSwitch", _ "Error") traceSource.Switch = sourceSwitch1 Console.WriteLine(traceSource.Switch.Level.ToString()) traceSource.TraceEvent(TraceEventType.Critical, 1, "Critical Message") traceSource.TraceEvent(TraceEventType.Error, 2, "Error Message") traceSource.TraceEvent(TraceEventType.Warning, 3, "Warning Message") traceSource.TraceEvent(TraceEventType.Information, 4, "Information Message") traceSource.Switch = sourceSwitch2 Console.WriteLine(traceSource.Switch.Level.ToString()) traceSource.TraceEvent(TraceEventType.Critical, 5, "Critical Message") traceSource.TraceEvent(TraceEventType.Error, 6, "Error Message") traceSource.TraceEvent(TraceEventType.Warning, 7, "Warning Message") Console.ReadLine() End SubEnd ClassDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Op de console verschijnt het volgende : Console Application Output Warning
myTraceSource Critical: 1 : Critical Message
myTraceSource Error: 2 : Error Message
myTraceSource Warning: 3 : Warning Message
Error
myTraceSource Critical: 5 : Critical Message
myTraceSource Error: 6 : Error Message
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|