Formatage de la sortie de trace
Je suis en utilisant TextWriterTraceListener
de journal des messages de diagnostic dans un fichier texte. Cependant, je wan pas à se connecter à un horodatage de tous les oligo-message ajouté. Est-il possible de définir une sorte de formateur pour l'auditeur qui serait automatiquement ajouter timestamps?
Actuellement, je suis en ajoutant les horodatages manuellement sur chaque Trace.WriteLine()
appeler, mais ce n'est pas très à l'aise.
source d'informationauteur RaYell
Vous devez vous connecter pour publier un commentaire.
Je vous suggère d'utiliser Log4Net au lieu de cela, ce qui a beaucoup plus d'options de personnalisation.
Alternativement, vous pouvez écrire votre propre
TraceListener
de mise en œuvre qui a mis la date et l'heure sur pour vous. Vous peut - être même juste dériver deTextWriterTraceListener
et remplacerWrite
etWriteLine
:J'ai récemment rencontré la même situation et il ressemble aujourd'hui nous disposons d'un outil très apte à la tâche, à savoir Essentiel Des Diagnostics. Vous définissez un écouteur dans l'app.config comme dans le code ci-dessous et ensuite il suffit de placer
Essential.Diagnostics.dll
dans le même dossier. PAS DE RECOMPILATION EST NÉCESSAIRE. Vous pouvez l'utiliser avec toutes les applications qui utilise le Système.Diagnostics pour le suivi, même si vous ne possédez pas la source. N'est-ce pas merveilleux?Vous pouvez écrire votre propre TextWriterTraceListener sous-classe qui remplace la WriteLine méthodes, décore la ligne, et passe ensuite décoré de la chaîne de la classe de base de la mise en œuvre de la véritable sortie.
Ou simplement d'ajouter "DateTime" comme un traceOutputOption.
Pas vraiment une réponse à votre question, mais avez-vous songé seulement à l'aide de log4Net?
Vous pouvez le configurer pour ajouter de temps etc, avec une grande quantité d'autres fonctions utiles.
Envisager d'utiliser L'Application D'Enregistrement De Bloc
Même si c'est vieux, et une réponse a été acceptée, je vais jeter dans une option de plus. Vous pouvez utiliser le Ukadc.Diagnostics addon de codeplex. Entre autres choses, il vous permet de définir la mise en forme personnalisée, similaire à la mise en forme que vous pouvez définir avec log4net et NLog. C'est seulement une configuration de dépendance. Qui est, vous pouvez configurer l'utilisation de Ukadc.Diagnostic par le biais de l'application.fichier de configuration. Il n'y a pas de source de dépendances (vous continuez à vous connecter via le Système.Diagnostics non pas à travers une api particulière). Cela dit, il y a certaines limites que vous devez être conscient:
Les options de mise en forme actuellement mis en œuvre dans Ukadc.Diagnostics vraiment ne fonctionnent correctement lors de la connexion avec TraceSources. Lors de l'enregistrement à l'état de Trace.Écrire et laisser de Trace.WriteLine la TraceEventCache objet n'est pas rempli, et c'est là que la plupart des objets de mise en forme obtiennent leurs informations.
Vous devez utiliser un Ukadc.Diagnostics TraceListener (ou un écouteur personnalisé dérivé de la Ukadc.Les Diagnostics de base TraceListener) pour obtenir la mise en forme personnalisée à apparaître dans votre sortie. Si vous avez trouvé un nouveau super duper roulant fichier TraceListener, vous aurez à faire un peu de travail à utiliser en conjonction avec le Ukadc.Les Diagnostics de mise en forme. Cela peut être aussi difficile que de réimplanter l'auditeur en termes de Ukadc.Les Diagnostics de base TraceListener. Ou il pourrait être plus facile, si vous pouvez simplement créer un nouveau Ukadc.Diagnostic à base de TraceListener qui contient le super duper roulant TraceListener, les formats de messages par Ukadc.De diagnostic, puis les délégués à l'auditeur d'Écriture/WriteLine méthodes.