2009-11-29 2 views
2

Aidez-moi avec cette requête en utilisant log4net. J'utilise log4net dans mhy nous l'application. Je rencontre des problèmes dans la configuration de log4net pour enregistrer les erreurs au niveau de l'utilisateur.log4net - enregistrement par utilisateur

En d'autres termes, si l'utilisateur X se connecte, j'aime créer le nom de fichier X et toutes les erreurs de l'utilisateur X doivent être écrites dans X.log. Siilarly si Y utilisateur se connecte dans le fichier journal doit être au nom de Y.log et le point le plus important à noter est, ils pourraient se connecter simultanément. J'ai essayé la chance en créant des fichiers journaux dont le nom serait encadré dynamiquement dès que l'utilisateur se connecte. Mais question ici, s'ils n'utilisent pas l'application en même temps, les fichiers journaux sont créés avec un nom correct et écrire comme prévu, mais si les deux utilisateurs ont des sessions actives, le fichier journal est créé uniquement pour l'utilisateur qui s'est connecté en premier et l'erreur du second utilisateur a été enregistrée dans le fichier journal créé pour FIRST user.

S'il vous plaît aidez-moi dans ceci.

Répondre

5

Il doit y avoir une meilleure solution, mais vous pouvez changer la configuration de log4net du code et même décider quel fichier de configuration charger - donc vous pouvez le faire dans le code, ce qui n'est pas aussi bien que modifier un fichier XML . Par conséquent, ce que vous devez faire, ce qui est fortement déconseillé, est de créer une configuration log4net chaque fois que vous appelez la classe statique de l'enregistreur, et de faire ce qui est nécessaire en fonction de l'utilisateur appelant.

encore .. il ne se sent pas bien!

(et il fonctionnera probablement mal).

une autre meilleure solution est detout journal à la base de données (log4net supporte), avec une colonne d'utilisateur, puis produire les journaux de db ....

+1

+1 pour la connexion à la DB. La connexion à un fichier pour chaque utilisateur ne sera pas mise à l'échelle. – tvanfosson

+1

+1 pour la journalisation sur la base de données. OMI c'est la bonne voie à suivre. Pas de problèmes de concurrence/évolutivité et d'utilisation propre de log4net prête à l'emploi. –