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