Sortie des journaux sur la console

Mettez en place les journaux pour une application console, avec la possibilité de personnaliser la couleur du texte et de l’arrière‑plan selon le niveau de journalisation. Très pratique pour le débogage.

  1. Créer une nouvelle application console dans Visual Studio
  2. Ajouter le fichier de configuration App.config au projet
  3. Intégrer log4net (installation NuGet / référence vers log4net.dll)
  4. Rédiger la configuration log4net dans App.config
  5. Initialiser log4net dans le code et produire des journaux

Vous pouvez définir les couleurs de premier plan et d’arrière‑plan pour chaque niveau de journal afin de distinguer les types de messages.

Configuration App.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net>
    <!-- Appender pour sortie console en couleur ColoredConsoleAppender -->
    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <!-- Jeu de couleurs pour le niveau ERROR -->
      <mapping>
        <level value="ERROR" />
        <foreColor value="White" />
        <backColor value="Red, HighIntensity" />
      </mapping>
      <!-- Jeu de couleurs pour le niveau DEBUG -->
      <mapping>
        <level value="DEBUG" />
        <backColor value="Green" />
      </mapping>
      <!-- Jeu de couleurs pour le niveau INFO -->
      <mapping>
        <level value="Info" />
        <backColor value="Yellow" />
      </mapping>
      <!-- Complétez les mappings pour WARN, FATAL selon vos besoins -->

      <!-- Modèle de format de sortie des journaux -->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>

    <!-- Logger racine, activer la sortie console -->
    <root>
      <level value="All" />
      <appender-ref ref="ColoredConsoleAppender" />
    </root>
  </log4net>
</configuration>Langage du code : HTML, XML (xml)
Explication des marqueurs de format
  • %date : Date et heure du journal
  • [%thread] : Identifiant du thread
  • %-5level : Niveau de journal (aligné sur 5 caractères)
  • %logger : Nom de la classe source du journal
  • %message : Contenu du message
  • %newline : Saut de ligne automatique

Program.cs

using System;
using log4net;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Charger et initialiser la configuration log4net
            log4net.Config.XmlConfigurator.Configure();
            // Récupérer l’instance du logger, transmettre le type de la classe pour tracer la source
            ILog logger = LogManager.GetLogger(typeof(Program));

            // Émettre des journaux de tous niveaux
            logger.Info("Message informatif");
            logger.Error("Message d’erreur");
            logger.Debug("Message de débogage");
            logger.Fatal("Erreur fatale");
            logger.Warn("Message d’avertissement");

            Console.ReadKey();
        }
    }
}Langage du code : JavaScript (javascript)

Résultat à l’exécution

La console applique automatiquement une couleur de fond différente selon le niveau :

  • INFO : fond jaune
  • DEBUG : fond vert
  • ERROR / FATAL : fond rouge vif
  • WARN : fond jaune

Exemple de sortie :

2017-03-21 20:35:31,550 [9] INFO  ConsoleApplication1.Program [(null)] - Message informatif
2017-03-21 20:35:31,592 [9] ERROR ConsoleApplication1.Program [(null)] - Message derreur
2017-03-21 20:35:31,592 [9] DEBUG ConsoleApplication1.Program [(null)] - Message de débogage
2017-03-21 20:35:31,593 [9] FATAL ConsoleApplication1.Program [(null)] - Erreur fatale
2017-03-21 20:35:31,594 [9] WARN  ConsoleApplication1.Program [(null)] - Message davertissementLangage du code : CSS (css)

Sortie des journaux sur la console

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *