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.
- Créer une nouvelle application console dans Visual Studio
- Ajouter le fichier de configuration
App.configau projet - Intégrer log4net (installation NuGet / référence vers log4net.dll)
- Rédiger la configuration log4net dans
App.config - 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 d’erreur
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 d’avertissementLangage du code : CSS (css)

Sortie des journaux sur la console