로깅 실무: 레벨·계층, MDC 추적, 예외·성능, 마스킹, 롤링, JSON 로그
섹션 7진행 0 / 22
7. 정리
- 로깅은 Logger(이름 트리), Level(필터), Handler(출력), Formatter(모양) 4요소로 이뤄지고, SLF4J·Logback 도 이 구조를 그대로 따릅니다.
- 로거 레벨은 조상에서 상속되므로, 패키지 하나만 좁게
DEBUG 로 올리는 방식이 전체를 올리는 것보다 안전합니다.
- MDC 는 요청 시작에
put, 끝에 clear 를 반드시 짝지어야 하고, 다른 스레드로 넘어갈 때는 복사해서 다시 심어야 합니다.
- 예외는
Throwable 인자로 스택까지 남기고, 한 예외는 최종 처리 지점 한 곳에서만 로그로 남깁니다.
- 꺼진 레벨의 로그도 인자 생성 비용은 그대로 나가므로,
{} 자리표시자나 Supplier 로 생성 자체를 미룹니다.
- 개인정보는 필터나 커스텀 Layout 으로 마스킹하고, DTO 를 통째로 찍는 습관을 버립니다.
- 파일 롤링은 크기·개수·총 용량 세 상한을 항상 같이 설정해, 디스크가 가득 차는 사고를 막습니다.
- Logback
logback-spring.xml 로 패턴·롤링·비동기를 설정하고, Micrometer Tracing 으로 MDC 를 자동화하고, ELK·Loki 같은 수집기로 JSON 로그를 넘기는 순서로 이 레슨의 개념이 실무로 이어집니다.