3 votes

log4net - je veux créer un fichier journal par utilisateur d'application web

Nous utilisons log4net (en remplacement de nLog) dans notre application web Asp.Net. nLog avait une fonction utile qui nous permettait de créer un fichier journal par utilisateur - ce qui est utile pour organiser et localiser les déclarations de journal.

Quelqu'un a-t-il une idée sur la façon de faire cela avec log4net ?

7voto

tvanfosson Points 268301

Au lieu d'enregistrer les données dans un fichier, pensez à enregistrer les données dans une table de base de données et faites en sorte que l'identifiant de l'utilisateur fasse partie des données enregistrées. De cette façon, vous pouvez effectuer des sélections dans la table en fonction de l'utilisateur (ou des utilisateurs) et ne voir que leurs données. Il est probable que vous souhaitiez également enregistrer l'identifiant de session, afin de faciliter les requêtes basées sur la session.

2voto

themarcuz Points 1383

Instanciez un nouveau RollingFileAppender de manière programmatique dans le gestionnaire d'événement session_start du fichier global.asax. De cette façon, vous pouvez obtenir un fichier différent pour chaque utilisateur, en nommant les fichiers comme suit [nom d'utilisateur]monapp.log , par exemple. Je sais, c'est une vieille question, mais elle peut toujours être utile à quelqu'un :)

1voto

Preet Sangha Points 39414

Une solution serait d'écrire votre propre appender tel que dérivant de RollingFileAppender

0voto

Matthew Lock Points 3945

J'enregistre dans un seul fichier et j'utilise ensuite un programme de visualisation des journaux comme LogExpert pour filtrer par nom d'utilisateur etc. quand je veux voir la session d'un utilisateur particulier.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X