[TIL 49일 차] Sprint Mission7 - 환경별 프로파일 분리 및 로그 정책 설정
#
[TIL 일차] Sprint Mission
오늘의 성취
- 개발(dev), 운영(prod) 환경에 따라 프로파일 생성
application-dev.yaml,application-prod.yaml- 데이터베이스 연결 정보와 서버 포트 설정값을 분리
- 환경별 로깅 레벨 설정
application.yaml에 기본적인 로그 레벨(root) 설정application-dev.yaml,application-prod.yaml에 애플리케이션 패키지 레벨 설정
- 로깅 패턴과 출력 방식 설정
- 로그 파일 정책 설정
logback-spring.xml파일에 로그 정책 설정- 저장 경로, 저장 파일 이름 설정
- 일자별 롤링, 최대 보관일 설정
프로젝트 요구 사항
2. 기본 요구사항
2-1. 프로파일 기반 설정 관리
- 개발, 운영 환경에 대한 프로파일을 구성하세요.
application-dev.yaml,application-prod.yaml파일을 생성하세요.- 다음과 같은 설정값을 프로파일별로 분리하세요.
- 데이터베이스 연결 정보
- 서버 포트
2-2. 로그 관리
- Lombok의
@Slf4j애너테이션을 활용해 로깅을 쉽게 추가할 수 있도록 구성하세요. application.yaml에 기본 로깅 레벨을 설정하세요.- 기본적으로
info레벨로 설정합니다.
- 기본적으로
- 환경 별 적절한 로깅 레벨을 프로파일 별로 설정해보세요.
- SQL 로그를 보기위해 설정했던 레벨은 유지합니다.
- 우리가 작성한 프로젝트의 로그는 개발 환경에서
debug, 운영 환경에서는info레벨로 설정합니다.
- Spring Boot의 기본 로깅 구현체인 Logback의 설정 파일을 구성하세요.
logback-spring.xml파일을 생성하세요.- 다음 예시와 같은 로그 메시지를 출력하기 위한 로깅 패턴과 출력 방식을 커스터마이징하세요.
-
로그 출력 예시
# 패턴 {년}-{월}-{일} {시}:{분}:{초}:{밀리초} [{스레드명}] {로그 레벨(5글자로 맞춤)} {로거 이름(최대 36글자)} - {로그 메시지}{줄바꿈} # 예시 25-01-01 10:33:55.740 [main] DEBUG c.s.m.discodeit.DiscodeitApplication - Running with Spring Boot v3.4.0, Spring v6.2.0
-
- 콘솔과 파일에 동시에 로그를 기록하도록 설정하세요.
- 파일은
{프로젝트 루트}/.logs경로에 저장되도록 설정하세요.
- 파일은
- 로그 파일은 일자별로 롤링되도록 구성하세요.
- 로그 파일은 30일간 보관하도록 구성하세요.
//...
GitHub Repository 주소
https://github.com/JungH200000/10-sprint-mission/tree/sprint7
Leave a comment