У меня есть собственный WcfAppender, используемый различными проектами (wpf, web и т. д.). Я хочу зарегистрировать имя пользователя, однако в проектах используются разные технологии (проверка подлинности Windows, федеративная безопасность и т. д.), и я не хочу писать тесно связанный код с конкретной технологией проверки подлинности. Могу ли я как-то сказать аппендеру, как найти имя пользователя, установив действие или подобное? Каковы лучшие практики в отношении пользовательских приложений log4net?
Пользовательский аппендер Log4Net, укажите, где найти имя пользователя
Ответы (1)
Я задал аналогичный вопрос около года назад, но я не уверен, что есть отличное решение, кроме использования ThreadContext
и установки переменной, которая хранит имя пользователя при каждом отдельном вызове wcf, например:
//You would need to get currentUserLoggedIn
log4net.ThreadContext.Properties["user"] = currentUserLoggedIn;
Вот мой старый вопрос, и есть ответ, но это решение не сработало для меня. Может быть, это будет для вас:
log4net с использованием ThreadContext.Properties в службе wcf PerSession
person
Cole W
schedule
04.02.2013