MDC, 필터, 서비스 로그 또는 오류 로그를 바꿀 때 읽는다.
MdcLoggingFilter는 요청의X-Trace-Id가 허용 형식이면 사용하고, 없거나 형식이 다르면 새 ID를 만든다. 응답 헤더에도 ID를 넣고 MDC에traceId, HTTP method, URI를 기록한다.- 필터는 시작·완료 로그와 상태·소요 시간을 기록하고
finally에서MDC.clear()를 호출한다.SecurityConfig가 필터 순서를 정하며 중복 Servlet 등록은 꺼 둔다. 변경 시 이 두 경로를 함께 확인한다. LoggingAspect는 Service 완료 시간과 예외를 기록한다. 예상된CustomException은 WARN, 예상하지 못한 예외는 ERROR로 다루고 원래 예외를 다시 던진다.GlobalExceptionHandler의 로그 및 Sentry 기록과 중복·민감정보 노출을 검토한다.- 로그 출력 패턴은
src/main/resources/logback-spring.xml에 있다. 현재 콘솔 패턴 로그를 사용한다. JSON encoder, 비동기 appender, 추가 MDC 필드는 운영 요구사항과 성능 영향을 검토한 뒤 별도 작업으로 도입한다. - 토큰·비밀번호·쿠키·API 키, 인증 헤더, 요청·응답 본문 전체를 로그에 넣지 않는다. 새 로그 필드는 문제 분석에 필요한 최소 정보로 제한한다.
참고 구현: global/logging/MdcLoggingFilter.java, global/logging/LoggingAspect.java, global/logging/LoggingConstants.java.