begin process at 2012 02 11 17:47:56
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Tutoriaux

 > UTILISATION DE LOG4NET

UTILISATION DE LOG4NET


 Information sur le tutoriel

Note :
Aucune note


 Description

Ce mini tuto donne quelques informations de base pour bien débuter avec log4net, une librairie permettant de gérer les logs.

http://logging.apache.org/log4net/

Tutorial

Utilisation de log4netAvant de commencer

Ce mini tuto donne quelques informations de base pour bien débuter avec log4net, une librairie permettant de gérer les logs. http://logging.apache.org/log4net/

Fonctionnement de base

Il existe différent niveau de log :

  • ALL
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • FATAL
  • OFF

Ils peuvent être représentés par la hiérarchie suivante : DEBUG < INFO < WARN < ERROR < FATAL. En d’autres termes, si on log en niveau INFO, tout ce qui sera sur INFO et plus élevé sera automatiquement loggué.

Paramétrage

Log4net supporte une 20aine de manière différente pour logguer les informations, par exemple dans une base de donnée, sur la console, sur la console en couleur, par l’envoie de mail, fichiers, etc. Tout ou presque se passe au niveau du fichier de configuration. Je propose ici un mini exemple en utilisant la console avec couleur.


Premièrement, il faut indiquer que notre fichier de configuration contiendra log4net. Ceci se fait avec l’aide d’une section :

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" />

</configSections>

Il est maintenant possible de rajouter notre section <log4net>

Pour commencer, on va déclarer l’appender, c’est le type de log qu’on va utiliser. Comme je l’ai indiqué plus haut, j’ai choisi de présenter la console en couleur qui correspond à la classe ColoredConsoleAppender.

<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
...
</appender>

Que faut-il mettre là dedans ? Premièrement, les attributs de mapping, pour que le loggeur sache quelle couleur il doit utiliser pour quel niveau, par exemple :

<mapping>

<level value="DEBUG" />

<foreColor value="Green" />

</mapping>

<mapping>

<level value="INFO" />

<foreColor value="Red" />

<backColor value="White" />

</mapping>

<mapping>

<level value="WARN" />

<foreColor value="White" />

<backColor value="Yellow" />

</mapping>

<mapping>

<level value="ERROR" />

<foreColor value="White" />

<backColor value="Red, HighIntensity" />

</mapping>

Le niveau FATAL n’est pas spécifié dans cet exemple, ce qui n’est pas un problème : il héritera automatiquement des attributs du précédant, à savoir du niveau ERROR.

Ensuite, on a la possibilité de définir un format de sortie pour formater les informations comme on en a envie. Ceci se fait avec l’attribut layout, par exemple :

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d{yyyy-MM-dd hh:mm:ss} %-5p - %m%n" />

</layout>

%d représente la date avec le format qui suit,
%p est le niveau de log actuel
%m le message
%n un retour à la ligne

Pour terminer, on indique grâce à l’attribut layout quel est le niveau de log qu’il faut actuellement utiliser. On précise donc le niveau et le nom de l’appender associé :

<root>

<level value="INFO" />

<appender-ref ref="ColoredConsoleAppender" />

</root>

Voilà, notre loggeur est configuré, il ne reste plus qu’à l’utiliser !

Utilisation du loggeur

Encore une fois, quelques lignes suffisent à mettre en place le système.

public class Program

{

protected static readonly ILog _log = LogManager.GetLogger(typeof(Program));


static void Main(string[] args)

{

XmlConfigurator.Configure();


_log.Debug("This is a DEBUG Text");

_log.Info("How beautyful the console looks like!");

_log.Warn("Warning!");

_log.Error("Oooups, there is an error...");

_log.Fatal("Fatal error");


Console.Read();

}

}

On crée le loggeur grâce à la méthode static GetLogger de la classe LogManager. On appelle ensuite la méthode Configure de la classe XmlConfigurator pour lire le fichier de config. Dans le cadre d’une application windows, c’est le fichier app.config qui va être lu par défaut.

Il ne reste plus qu’à utiliser l’objet !

Et voici la sortie.

Le premier texte n’est pas inscrit car le niveau de log est actuellement sur INFO dans le level de l’attribut root du fichier de configuration.

Conclusion

Simple et efficace, ne demande pas ou très peu de temps pour la mise en place, et on trouve pleins d’exemples sur le site officiel : http://logging.apache.org/log4net/

Intro: http://logging.apache.org/log4net/release/manual/introduction.html

Exemple de Config: http://logging.apache.org/log4net/release/config-examples.html



Code complet du fichier de config pour cet exemple :

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" />

</configSections>

<log4net>

<root>

<level value="INFO" />

<appender-ref ref="ColoredConsoleAppender" />

</root>

<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">

<mapping>

<level value="DEBUG" />

<foreColor value="Green" />

</mapping>

<mapping>

<level value="INFO" />

<foreColor value="Red" />

<backColor value="White" />

</mapping>

<mapping>

<level value="WARN" />

<foreColor value="White" />

<backColor value="Yellow" />

</mapping>

<mapping>

<level value="ERROR" />

<foreColor value="White" />

<backColor value="Red, HighIntensity" />

</mapping>

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d{yyyy-MM-dd hh:mm:ss} %-5p - %m%n" />

</layout>

</appender>

</log4net>

</configuration>



 Historique

31 mars 2009 09:23:44 :
Ortho
31 mars 2009 09:37:48 :
Mise en page...

Commentaires

Commentaire de billou_13 le 01/04/2009 09:56:28

Merci bidou pour ce tutorial...
Le logging est une chose essentielle (voir indispensable) en programmation.

Commentaire de ismsti le 15/02/2011 01:20:46

Merci Mr BIDOU

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,451 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales