Spring에서 로깅 시 각 요청마다 식별자 만들기

배경 로그 모니터링할 때 각 로그가 서로 연관이 있는지, 한 요청에 대해서 어떤 순서로 로그가 남았는지 확인이 필요한 상황이 있었다. 로그를 남길 때 요청마다 고유한 식별자를 만들어서 로그에 같이 남도록 구현한다. 현재 프로젝트는 Logback을 사용해 로그를 남기고 있다. MDC MDC는 log4j나 logback이 로그를 남길 때 Appedner가 접근할 수 있는 데이터로 Map과 같은 구조로 작성할 수 있다. MDC의 고주논 ThreadLocal을 사용하여 실행 중인 스레드에 내부적으로 연결된다. 아래 사진과 같이 MDC 클래스 내에는 MDCAdapter 라는 인터페이스의 static 필드를 가지고 있다....

2025-02-20 · 1 min · 184 words

Logging

System.out.println("*********제발 나와라*********"); 위 코드 한 줄은 아마 개발을 해본 대부분은 시도 해본 디버깅 방법일 것이다. 필자도 한 때 많이 이용한 방법이다. 특별한 기술이 없어도 내가 작성한 코드가 어떻게 흘러가는지, 어디까지 동작하는지 확인할 수 있다. 점차 IDE 사용법에 익숙해지면 알게 되는 좀 더 쉬운 디버깅 방법으로는 디버거가 있다. 디버거를 사용하면 특정 코드 라인에 도달했을 때, 각 변수의 주소, 값 등을 확인할 수 있어 디버깅할 때 용이하다. 하지만 이런 방법들은 한계가 있다....

2025-02-01 · 5 min · 917 words