Question

Lors de l'écriture d'un TraceListener personnalisé, comment puis-je forcer l'en-tête d'écriture, les données/messages et le pied d'écriture à constituer un seul enregistrement discret ?Plus précisément, les écouteurs de trace personnalisés en question écrivent dans une source non basée sur un fichier, telle qu'une base de données ou un flux d'événements.Je dois soit ignorer les méthodes de base writeHeader, writefooter dans TraceListener, soit les regrouper d'une manière ou d'une autre dans un seul événement d'écriture.

Était-ce utile?

La solution

Voici un bon article sur la façon dont la coutume TraceListeners travail, qui explique également quand et quoi WriteHeader et WriteFooter sont appelés.L'astuce pour éviter WriteHeader et WriteFooter est apparemment d'ignorer le Données de trace et/ou TraceEvent appels.

Il y a également une discussion sur cette question dans ce fil SO.

Enfin, je vous encourage à jeter un œil à Ukadc.Diagnostics c'est une bibliothèque plutôt sympa pour étendre System.Diagnostics et fournit, entre autres fonctionnalités, un bon moyen d'obtenir un formatage de sortie de type log4net/NLog.Il y a un peu de discussion sur cette bibliothèque dans ce fil SO.

Bonne chance!

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