Comment ajouter (simple) de traçage en C#?
Je veux vous présenter certains de traçage pour une application en C# je suis en train d'écrire. Malheureusement, je ne peux jamais vraiment rappelez-vous comment il fonctionne et que vous souhaitez un tutoriel avec des qualités de référence à vérifier sur chaque maintenant et puis. Il devrait inclure:
- App.config /Web.config des choses à ajouter pour l'enregistrement TraceListeners
- comment le configurer dans l'application d'appel
Connaissez-vous le super tutoriel qui doit nous lier?
EDIT: Glenn Slaven m'a orienté dans la bonne direction. Ajouter à votre Application.config/Web.config à l'intérieur de <configuration/>
:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter"
initializeData="trace.log" />
</listeners>
</trace>
</system.diagnostics>
Cela va ajouter une TextWriterTraceListener
qui va attirer tout ce que vous envoyez avec Trace.WriteLine
etc.
EDIT: @DanEsparza remarquer que vous devez utiliser Trace.TraceInformation
, Trace.TraceWarning
et Trace.TraceError
au lieu de Trace.WriteLine
, car ils vous permettent de formater les messages de la même façon que string.Format
.
Astuce: Si vous n'ajoutez tous les auditeurs, alors vous pouvez encore voir la trace de sortie avec la SysInternals programme DebugView (Dbgview.exe
): http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
- Je recommande fortement d'utiliser
Trace.TraceInformation
et comme au lieu de WriteLine. Ceux de ses membres qui vous permettent de formater vos messages commestring.Format
.
Vous devez vous connecter pour publier un commentaire.
J'ai écrit un court article sur l'utilisation de la Trace de l'écoute, il sera peut-être d'un peu d'aide, surtout pour les débutants - http://www.daveoncsharp.com/2009/09/create-a-logger-using-the-trace-listener-in-csharp/
J'ai suivi environ 5 réponses différentes ainsi que tous les articles de blog ci-dessus et avait encore des problèmes. J'ai essayé d'ajouter un écouteur pour le code existant qui a été suivi à l'aide de la
TraceSource.TraceEvent(TraceEventType, Int32, String)
méthode où leTraceSource
objet a été initialisé avec une chaîne en faire une 'source'. Pour moi la question n'est pas de la création d'une combinaison valide de la source et de l'interrupteur d'éléments de cible de cette source. Voici un exemple qui va se connecter à un fichier appelétracelog.txt
. Pour le code suivant:J'ai réussi à réussi à se connecter avec les diagnostics suivants config:
DotNetCoders a un starter article sur elle: http://www.dotnetcoders.com/web/Articles/ShowArticle.aspx?article=50, ils parlent de la façon de configurer les commutateurs dans le fichier de configuration & comment écrire le code, mais il est assez vieux (2002). Il y a un autre article sur CodeProject: http://www.codeproject.com/KB/trace/debugtreatise.aspx mais c'est le même âge.
CodeGuru a un autre article sur la coutume TraceListeners: http://www.codeguru.com/columns/vb/article.php/c5611
Je ne peux pas penser à des articles plus récents, j'espère que quelqu'un ici aura quelque chose