log4net - для каждого пользователя - PullRequest
2 голосов
/ 29 ноября 2009

Пожалуйста, помогите мне с этим запросом в использовании log4net.

Я использую log4net в приложении MHY. Я сталкиваюсь с проблемами в настройке log4net для регистрации ошибок на уровне пользователя.

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

Я испытал удачу, создав файлы журналов, чье имя будет динамически подставлено, как только пользователь войдет в систему. Но проблема здесь, если они не используют приложение одновременно, файлы журналов создаются с правильным именем и запись, как и ожидалось, но если оба пользователя имеют активные сеансы, файл журнала создается только для пользователя, который ПЕРВЫЙ вошел в систему, и ошибка второго пользователя была записана в файл журнала, который создан для пользователя FIRST.

Пожалуйста, помогите мне в этом.

1 Ответ

6 голосов
/ 29 ноября 2009

Должно быть лучшее решение из этого, но вы можете изменить конфигурацию log4net из кода и даже решить, какой конфигурационный файл загрузить - так что вы можете сделать это в коде, что не так приятно, как редактирование XML-файла.

Итак, что вам нужно сделать, что крайне не рекомендуется, это создавать конфигурацию log4net каждый раз, когда вы вызываете статический класс логгера, и делать то, что нужно, основываясь на вызывающем пользователе.

снова .. это не так!

(и, вероятно, он будет работать плохо).

другое ЛУЧШЕ решение состоит в том, чтобы записать все в базу данных (log4net поддерживает это) с пользовательским столбцом, а затем создать журналы из db ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...