2008-11-20 4 views
3

Мы используем log4net (заменив nLog) в нашем веб-приложении Asp.Net. У nLog была полезная функция, которая позволила бы нам создать файл журнала для каждого пользователя - что полезно для организации и поиска операторов журнала.log4net - хотите создать файл журнала для каждого пользователя веб-приложения

Есть ли у кого-нибудь идеи о том, как это сделать с помощью log4net?

ответ

7

Вместо того, чтобы регистрироваться в файле, подумайте о регистрации в таблице базы данных и укажите идентификатор пользователя из зарегистрированных данных. Таким образом, вы можете делать выборки против таблицы на основе пользователя (или пользователей) и видеть только их данные. Вероятно, также необходимо также зарегистрировать идентификатор сеанса, чтобы упростить запросы на основе сеанса.

1

Одним из способов было бы написать свой собственный Appender такие вытекающие из RollingFileAppender

0

Инстанцировать новый RollingFileAppender программно в обработчике события session_start в файле global.asax. Таким образом, вы можете получить один файл для каждого пользователя, назвав файлы [имя пользователя] myapp.log, например. Я знаю, это старый вопрос, но он всегда может быть удобно для кого-то :)

0

Я просто войти в один файл, а затем использовать хороший журнал просмотра программы как LogExpert фильтровать по имени пользователя и т.д., когда я хочу, чтобы увидеть сеанс конкретного пользователя.

enter image description here