요청정보 로깅에 대한 변천사
로깅 성능에 대한 고민
작업 트레이스 로깅
위 과정들을 통해 로깅 정책을 픽스한다.
로그 레벨
- 프로덕션 서버: 루트레벨 info, 어플리케이션 패키지 info
- 개발 서버: 루트레벨 info, 어플리케이션 패키지 debug
- 로컬: 루트레벨 info, 어플리케이션 패키지 debug
로그 관리
- 프로덕션 서버: 롤링 파일 어펜더를 사용해서 1일마다 최대 10mb 단위로 잘라서 압축 관리, 최대 14일치 보관
- 개발 서버: 파일 어펜더를 사용해서 파일을 남김. 서버 재실행마다 초기화
- 로컬: 콘솔창에 출력
찍어야할 것
- info: 요청 정보
- debug: 작업 트레이싱, 예외 스택 트레이스
- error: 요청에 의한 예외 정보
로깅문 작성 요령
info 이하 레벨은 그냥 작성.
debug 이상 레벨에선 로깅문에 필요한 연산 전에 활성화된 로그 레벨 체크 분기문을 추가
모든 DTO 클래스에 @ToString
어노테이션 추가
이펙티브 자바 item12 참조.
'Spring' 카테고리의 다른 글
멀티 모듈 프로젝트 세팅하기 (0) | 2023.11.27 |
---|---|
RedisTemplate는 @Transactional 안에서 어떻게 동작할까? (8) | 2023.06.27 |
로깅 성능에 대한 고민 (0) | 2022.10.24 |
로그 잘 남기면 디버깅이 수월해짐 (0) | 2022.10.23 |
요청로깅 AOP로 해야겠다 (0) | 2022.10.23 |