Était-ce utile?

La solution

La différence est que les travaux de TraceSwitch avec des messages Trace alors que SourceSwitch fonctionne avec des messages TraceSource, qui associent les messages avec leur source. Donc, avec un SourceSwitch vous pouvez configurer vos auditeurs en fonction de l'endroit où les messages de trace venaient.

Je suis d'accord la documentation ne dirigez pas directement la différence, mais fouiller dans la liées TraceSource documentation de la classe et vous trouverez ceci:

  

La classe TraceSource est identifiée par   le nom d'une source, généralement la   nom de l'application. la trace   les messages provenant d'un particulier   composant peut être initié par un   source de trace particulière, ce qui permet tout   les messages provenant de ce que le composant à   être facilement identifié.

Il y a aussi un exemple que vous montrant comment configurer un SourceSwitch pour désactiver le suivi à partir d'une source de trace.

Autres conseils

Le (plus) TraceSwitch est essentiellement un objet TraceLevel être utilisé en combinaison avec la classe statique Trace.

La (nouvelle) TraceSource combine un concept TraceLevel avec des méthodes de production réelle.

En conséquence, dans une grande application, vous pouvez utiliser plusieurs TraceSwitches pour configurer les paramètres de trace pour différentes parties (GUI, DAL) du programme, mais toutes les sorties seront envoyés à la même TraceListener (s).

Avec un TraceSource vous pouvez avoir des canaux de sortie indépendants. Et une API légèrement mieux.

Cette explication de la différence entre TraceLevel et SourceLevel pourrait aider:

System.Diagnostics SourceLevels cachés

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top