Comment travailler avec NLog dans .Net

NLog est une plateforme de journalisation open source à utiliser dans les applications .Net, Xamarin et même Windows Phone. Il est gratuit, multiplateforme et facile à configurer et à étendre. NLog est une excellente plate-forme de journalisation, simple et dotée d'un excellent support pour les capacités de routage et de gestion des journaux, ce qui en fait un bon choix lorsque vous devez choisir un cadre de journalisation hautement performant. 

Installer NLog

Tout d'abord, vous devez télécharger une copie de NLog.

Vous pouvez également installer NLog à l'aide du gestionnaire de package NuGet. Pour ce faire, il vous suffit de créer un projet dans Visual Studio, de cliquer avec le bouton droit sur le projet dans la fenêtre Explorateur de solutions, puis de sélectionner l'option «Gérer les packages NuGet ...». Ensuite, vous pouvez sélectionner NLog.Config comme package que vous souhaitez installer à partir de la fenêtre NuGet Package Manager.

Vous pouvez également installer NLog à l'aide de la console du gestionnaire de package. Tapez la commande suivante dans la console du gestionnaire de package et appuyez sur Entrée.

Package d'installation NLog.Config

Pour commencer à utiliser NLog dans Visual Studio 2015, vous pouvez installer le package NLog.Config. Lorsque vous installez ce package, ses dépendances associées, notamment NLog et NLog.Schema, seront également installées et l'assembly NLog.dll sera ajouté à votre projet. Vous verrez également deux fichiers ajoutés à votre projet, l'un nommé NLog.config et l'autre nommé NLog.xsd.

Niveaux de journalisation NLog

NLog prend en charge les niveaux de journalisation suivants:

  • Trace
  • Déboguer
  • Info
  • Prévenir
  • Erreur
  • Fatal

Configuration de NLog

Vous devrez d'abord définir le nom et le chemin du fichier journal dans le fichier NLog.config. Voici comment procéder:


  

Si vous souhaitez créer un fichier journal tous les jours, vous pouvez spécifier les éléments suivants dans la balise variable à la place:


  

Spécifiez une cible de journal dans NLog

Une fois que le nom et le chemin du fichier journal ont été spécifiés, vous devez spécifier une cible de journal. Cela peut être fait en utilisant la balise target dans le fichier NLog.config:

            xsi: type = "Fichier"

            fileName = "$ {logFilePath}"

            layout = "$ {longdate} LEVEL = $ {level: upperCase = true}: $ {message}"

            keepFileOpen = "true" />

Notez que vous pouvez créer plusieurs cibles à l'intérieur de la balise cibles.

Vous pouvez également profiter des règles pour indiquer à NLog où une entrée de journal particulière doit être enregistrée, que ce soit dans un fichier, une base de données, un journal des événements, etc.

Créer un enregistreur dans NLog

Vous pouvez créer un enregistreur par classe à l'aide de la classe LogManager dans la bibliothèque NLog. Voici comment vous pouvez le faire:

Exemple d'espace de noms

{

  Test de classe publique

  {

    enregistreur de journalisation statique privé = LogManager.GetCurrentClassLogger ();

  }

}

Si vous souhaitez récupérer un enregistreur particulier, vous pouvez tirer parti de la méthode GetLogger de la classe LogManager comme indiqué ci-dessous.

en utilisant NLog;

Logger logger = LogManager.GetLogger ("SpecifyTheClassNameHere");

Exemple de NLog simple dans .Net

Voici le programme complet pour votre référence qui illustre comment NLog peut être utilisé pour enregistrer des données à différents niveaux.

en utilisant NLog;

en utilisant le système;

espace de noms NLog

{

    programme de classe

    {

        enregistreur de journalisation statique privé = LogManager.GetCurrentClassLogger ();

        static void Main (string [] args)

        {

            logger.Trace ("Ceci est un message de trace");

            logger.Debug ("Ceci est un message de débogage");

            logger.Info ("Ceci est un message d'information");

            logger.Warn ("Ceci est un message d'avertissement");

            logger.Error ("Ceci est un message d'erreur");

            logger.Fatal ("Ceci est un message fatal");

            Console.ReadKey ();

        }

    }

}