Bonjour,

dans le tutoriel de lutecefalco sur l'introduction de Log4Net, il y a une notion que je n'ai pas compris. Je ne sais pas si c'est le meilleur endroit pour poster mais bon, j'y vais.

Il y est écrit le texte suivant :

Pour logger un message, il suffit d'appeler le logger de son choix puis la fonction correspondant au niveau de l'événement.


Par exemple, pour logger une erreur avec le logger ExceptionLogger, il suffit d'appeler :

Log.ExceptionLogger.Error(msg) où msg est le message à loguer.


Pour loguer une info de debug avec le logger MonitoringLogger, il faut appeler :

Log.MonitoringLogger.Debug(msg) où msg est le message à loguer.


Pour ajouter une propriété à celles de log4net (comme on a pu le voir pour l'appender ), on utilise la syntaxe suivante:

log4net.ThreadContext.Properties["log_who"] = user;
Log.MonitoringLogger.Debug(msg);


Afin de mettre en pratique tout ça, je vous conseille d'exécuter le site web et d'observer comment les informations sont loggées. Une fois cette étape passée, vous pourrez modifier le fichier de configuration de log4net afin de vous familiariser avec la façon dont fonctionne log4net.
je m'interroge sur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
log4net.ThreadContext.Properties["log_who"] = user;
Log.MonitoringLogger.Debug(msg);
Cela veut il dire que je pourrais créer une variable log_Referer par exemple et la stocker pour chacun de mes utilisateurs? ou est ce que log4net.ThreadContext fonctionne comme un variable d'application? En fait je crains les conflit d'utilisation de ma propriété avec plusieurs utilisateurs simultanés...