Как мне связать все журналы с их запросом в граалях? - PullRequest
4 голосов
/ 23 августа 2010

В нашем приложении Grails мы много регистрируем, но нам нужен механизм, чтобы связать все эти сообщения с обрабатываемым запросом / ответом.Было достаточно легко сгенерировать UUID запроса, но теперь я хотел бы, чтобы этот идентификатор добавлялся к каждому сообщению журнала, сгенерированному в контексте запроса, без передачи этого идентификатора в каждом сообщении журнала.Кто-нибудь реализовал такую ​​систему, чтобы вы могли связать все свои записи журнала вместе?

Ответы [ 2 ]

4 голосов
/ 26 августа 2010

Довольно неясная функция log4j, называемая MDC, кажется, именно то, что вам нужно.

Что-то вроде http://gustlik.wordpress.com/2008/07/05/user-context-tracking-in-log4j/

Он будет хорошо работать и в Grails, если вы используете собственный AppFilter для установки уникального значения запроса.

0 голосов
/ 23 августа 2010

вы можете попробовать использовать RequestContextHolder

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/context/request/RequestContextHolder.html

ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
log.debug attr.getRequest().getSession()

Как только вы получите объект сеанса, вы можете получить любой идентификатор, который вы спрятали?

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