Mise en place de log4net dans un projet web

 27/05/2015 |   Admin |  C#


Mise en place de Log4Net :

1) Ajouter la référence log4net.dll au projet
(téléchargement sur http://logging.apache.org/)
2) Ajouter au projet, le fichier Global.asax.
Dans l’événement « Application_Start » ajouter ce code : log4net.Config.XmlConfigurator.Configure();

 

void Application_Start(object sender, EventArgs e)
    {
        // Code qui s'exécute au démarrage de l'application
        log4net.Config.XmlConfigurator.Configure();
    }

 

3) Ouvrir le fichier web.config puis

- ajouter dans la section « Configuration/Configsections » ce code :

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

 

- Après la balise de fermeture</configSections> ajouter la balise <log4net><log4net/>

- Entre ces balises rajouter l’un ou ces deux codes en fonction de votre choix (envoi par mail, ou stockage dans un fichier)

o Log dans un fichier texte :      

 <appendername="LogFileAppender"type="log4net.Appender.FileAppender">
<paramname="File"value="Logs\\Log4Net.log"/>
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern"value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>

o Log par mail :

<appendername="SmtpAppender"type="log4net.Appender.SmtpAppender">
<tovalue="to@domain.com" />
<fromvalue="from@domain.com" />
<subjectvalue="log www.domain.com" />
<smtpHostvalue="smtpServer.domain.com" />
<bufferSizevalue="512" />
<lossyvalue="true" />
<evaluatortype="log4net.Core.LevelEvaluator">
<thresholdvalue="WARN"/>
</evaluator>
<layouttype="log4net.Layout.PatternLayout">
<conversionPatternvalue="%newline%date [%thread] %-5level %logger [%property] -%message%newline%newline%newline" />
</layout>
</appender>

- Après l’ouverture de la balise<log4net> ajouter l’un ou les deux codes suivant (texte ou mail)

o Texte

<loggername="File">
<levelvalue="All" />
<appender-refref="LogFileAppender" />
</logger>

o Mail

<loggername="EmailLog">
<levelvalue="All" />
<appender-refref="SmtpAppender" />
</logger> 
4) Ajouter les logs aux endroits nécessaires :

- Dans un fichier texte :

 log4net.ILog logger = log4net.LogManager.GetLogger("File");

- Envoi par mail :

   log4net.ILog logger = log4net.LogManager.GetLogger("EmailLog");

- Création du log :

  logger.Info("Erreur dans la methode x");