[Spring] MDC, 로그 트레이싱하기
* 관련 기술 스택이 없습니다

• MDC(Mapped Diagnostic Context)는 웹 서비스의 멀티 쓰레드 환경에서 동시에 처리되는 여러 요청에 대한 로그를 관리하는 방법이다.
• MDC는 현재 실행 중인 쓰레드에 메타 정보를 넣고 관리하는 공간으로, 내부적으로 Map으로 관리하며, 쓰레드 별로 메타 정보를 관리하기 위해 쓰레드 로컬을 사용한다.
• MDC를 사용하면 로그가 순서대로 찍히지 않고 뒤섞여 있어도, 특정 요청에 대한 로그들을 하나로 묶어 원인을 추적하고 진단하는데 용이하다.
• MDC에 Context Id를 저장할 위치는 필터, 인터셉터 등이 있지만, 가장 요청을 먼저 마주하는 필터에 적용하는 것이 적합하며, 모든 로그에 MDC.get("context_id")를 작성하여 uuid를 통해 요청 단위로 구분이 가능하다.

북마크
공유하기
신고하기