Уникальный идентификатор пользователя / сеанса в журналах на всех уровнях?Log4J? - PullRequest
1 голос
/ 05 мая 2011

Что ж, мы проводим тестирование производительности, чтобы выяснить, сколько шагов нашего приложения занимает сколько времени. Конечно, легко анализировать / фильтровать журналы с помощью регулярных выражений - это прелесть. К проблеме: Наше приложение jsf разделено на несколько проектов, которые используются другими (не jsf) приложениями. Мой первый подход был бы:

if(logger.isDebugEnabled())
        logger.debug("Service call took: " + (System.currentTimeMillis() - time)+ " JSESSIONID="+CookieUtil.getJsessionId(FacesContext.getCurrentInstance())) ;

(CookieUtil будет считывать идентификатор сессии из запроса HttpServletRequest)

Но ... очевидно, что другим проектам не нравятся зависимости от библиотек JSF или моего аккуратного CookieUtil. Log4j что-то предоставляет? Есть ли другой инструмент / концепция для этого?

1 Ответ

4 голосов
/ 05 мая 2011

Вы можете выполнить то, что ищете, с помощью log4j MDC: Log4j MDC

и с помощью фильтра сервлетов, аналогичного этому примеру: MDCServletFilter

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