Ajout du nom de la méthode dans NLog
Je suis en utilisant NLog et suivant le modèle recommandé d'avoir un journal de déclarer sur chaque classe, dans le but d'être en mesure de suivre la classe/méthode a écrit dans le journal. Je la trouve très utile d'avoir un peu d'un haut niveau de trace de pile " à chaque écriture de journal.
Mon code ressemble à ceci:
class SomeClass {
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
void DoStuff() {
logger.Debug("stuff"); }
}
J'ai récemment eu l'exigence de mon projet d'écrire à 3 fichiers journaux, et pour ce faire, j'ai ajouté plusieurs enregistreurs et des cibles comme indiqué ici: https://stackoverflow.com/a/21711838/191206
Cependant, maintenant, dans mon journal de fichiers, j'ai perdu du niveau de la classe du nom. Maintenant juste écrit le nom de journal que j'ai spécifié dans le NLog.config. J'ai tout simplement ajouter le nom de la méthode moi-même avec un appel à
System.Reflection.MethodBase.GetCurrentMethod(); //use Name property
ou à l'aide de quelque chose d'autre dans la Réflexion comme cette
Cependant, je me demandais si NLog a quelque chose de construit dans ce que je suis absent? La méthode Debug() je ne vois que la possibilité d'écrire une chaîne de caractères, avec des paramètres & éventuellement formaté..
Est-ce intégré dans NLog?
source d'informationauteur dferraro | 2014-02-22
Vous devez vous connecter pour publier un commentaire.
Il y a un construit en convertisseur de mise en page
${callsite}
que vous pouvez utiliser pour inclure l'appel d'information du site (nom de la classe, le nom de la méthode et la source de l'information) dans vos entrées de journal: