저는 Sping Boot 1.5.7을 사용하고 있습니다. 이 응용 프로그램은 Restful API를 제공합니다. 사용자 이름과 트랜잭션 ID로 MDC를 설정하는 필터가 있습니다.로그백 sfl4j http 요청에 고유 한 MDC
MDC.put("user", authentication.getPrincipal().toString());
MDC.put("trans-id",authentication.getTokenId());
각 요청에 대해 MDC 맵을 갖고 싶지만 MDC 데이터는 다른 요청 사이에서 공유됩니다.
제발 도와 주실 수 있습니까? 감사.
UPDATE :에 살고 있고 세션 ID와 사용자가 대신 MDC지도에서,
2017-11-10 21:34:52.867 | user=USER, trans-id=c28f4b68-b5f3-4b5c-9bb5-f18ba9d1cd7d, session-id=daaddaadda | INFO 976 - [tp1005246661-89] i.e.h.controller.IsAliveController : /isAlive WSC |
2017-11-10 21:34:59.551 | user=USER, trans-id=4a0eaec1-184a-4587-8fce-ab013ad6539b, session-id=daaddaadda | INFO 976 - [tp1005246661-89] i.e.h.controller.IsAliveController : /isAlive public |
초 요청에 난 단지 트랜스-ID를 설정합니다
모든 행 아래 로그에서는 HTTP 요청입니다 첫 번째 요청.
자세한 내용은 내 게시물을 업데이트했습니다. 감사. –
이해하십시오. Spring 인터셉터에서 MDC 값을 지울 수 있습니다. 'HandlerInterceptorAdapter # preHandle'를 오버라이드하는 것만으로 충분할 수도 있습니다 – Apolozeus
몇 가지 예를 들어 주시겠습니까? –