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 :
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Logs\\Log4Net.log"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>
o Log par mail :
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="to@domain.com" />
<from value="from@domain.com" />
<subject value="log www.domain.com" />
<smtpHost value="smtpServer.domain.com" />
<bufferSize value="512" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%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
<logger name="File">
<level value="All" />
<appender-ref ref="LogFileAppender" />
</logger>
o Mail
<logger name="EmailLog">
<level value="All" />
<appender-ref ref="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");