무지를 아는 것이 곧 앎의 시작

Spring

내편 로깅 정책 정리

Alex96 2022. 10. 24. 02:17

요청정보 로깅에 대한 변천사

로깅 성능에 대한 고민

로깅 성능에 대한 고민

작업 트레이스 로깅

로그 잘 남기면 디버깅이 수월해짐


위 과정들을 통해 로깅 정책을 픽스한다.

로그 레벨

  • 프로덕션 서버: 루트레벨 info, 어플리케이션 패키지 info
  • 개발 서버: 루트레벨 info, 어플리케이션 패키지 debug
  • 로컬: 루트레벨 info, 어플리케이션 패키지 debug

로그 관리

  • 프로덕션 서버: 롤링 파일 어펜더를 사용해서 1일마다 최대 10mb 단위로 잘라서 압축 관리, 최대 14일치 보관
  • 개발 서버: 파일 어펜더를 사용해서 파일을 남김. 서버 재실행마다 초기화
  • 로컬: 콘솔창에 출력

찍어야할 것

  • info: 요청 정보
  • debug: 작업 트레이싱, 예외 스택 트레이스
  • error: 요청에 의한 예외 정보

로깅문 작성 요령

info 이하 레벨은 그냥 작성.
debug 이상 레벨에선 로깅문에 필요한 연산 전에 활성화된 로그 레벨 체크 분기문을 추가

모든 DTO 클래스에 @ToString 어노테이션 추가

이펙티브 자바 item12 참조.