2008-10-07 5 views
3

Qu'est-ce que le traçage et comment devrait-il être fait?Qu'est-ce que le traçage et comment devrait-il être fait?

J'ai une bibliothèque d'utilitaires commune que j'inclus dans mes projets et je veux pouvoir en tirer quelques résultats. J'utilise log4net mais je préfère ne pas avoir ma bibliothèque d'utilitaires commune dépendante de log4net. Cela a-t-il du sens?

Editer: Y a-t-il une corrélation entre la journalisation et le suivi? Est-ce que je voudrais mettre le traçage et la connexion dans le même flux pour une raison quelconque?

Dois-je remplacer éventuellement certains des log4net Logger.Debug (..) que j'ai dans mes projets avec System.Diagnostics.Trace.WriteLine (..) s?

Répondre

4

Voici quelques messages du blog de Mike Roussos de l'équipe BCL .NET:

0

Est-ce que ce ne serait pas simplement plus facile (lire mieux) d'utiliser log4net dans tous vos projets et bibliothèques. De cette manière, les projets peuvent spécifier comment ils veulent consigner les éléments et la consignation de votre bibliothèque commune n'écouterait que le projet.

Si vous avez un enregistreur personnalisé pour votre bibliothèque commune, vous aurez des journaux communs à un endroit et des journaux d'application (projet) à un autre endroit.

Pour un exemple, vous pouvez consulter NHibernate ou Castle ActiveRecord. Les deux peuvent être considérés comme des «utilitaires communs» (ils font votre accès aux données). Ils utilisent tous les deux log4net. Ainsi, en les utilisant dans votre projet, et en utilisant log4net comme enregistreur de projet, vous pouvez spécifier que toutes vos données de connexion vont à un endroit.

Si vous le souhaitez, vous pouvez même configurer les différents enregistreurs de différentes manières. Pour consigner vos journaux communs au niveau INFO et vos journaux de projet sur ERROR. Je viens juste de trouver une autre question sur la traçabilité VS la consignation semble tout à fait dans le coup. Jetez un coup d'oeil. Peut-être que ça va aider. Tracing versus Logging and how does log4net fit in?

-1

Je suis d'accord avec FryHard, ou mieux étendre log4net avec vos classes personnalisées.