메모. 개인적으로 사용하는 logback file appender 설정
- 서비스를 운영시 파일로 log를 남길때는 아래 사항을 꼭 고려해야함
- 로그 파일 용량이 너무 커서 vi로 오픈이 힘든걸 막아야함
- 로그파일을 삭제 없이 계속 저장하면 disk full로 서비스 장애가 발생하니 주의
- 적당한 보관기간으로 압축해서 롤링
logback.properties 설정
#로그파일 저장 디렉토리(유저/logs 디렉토리 하위에 서비스코드별로 디렉토리 구분)
log.file.dir=/home/svc_user/logs/svc_cd
#로그 파일 명(prefix에 환경코드 추가, 1개 서버에 blue/green 배포하는 경우를 위해서 was port별로 파일명 구분)
log.file.name=real_svc_cd_${server.port}.log
log.file.full=${log.file.dir}/${log.file.name}
#백업
log.file.backup.fileNamePattern=${log.file.dir}/backup/${log.file.name}_%d{yyyy-MM-dd}_%i.zip
#로그 패턴
log.pattern=%d{yyyy-MM-dd HH:mm:ss} [${HOSTNAME}] [%-5level] %logger{35}:%L - %msg%n
logback-spring.xml 설정(참고 링크)
- 로그파일 1개는 20M로 유지
- 최대 50의 로그파일을 유지
- 최대 1000MB
- 압축해서 롤링
<!-- 외부 설정파일을 사용 -->
<property resource="properties/logback.properties"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${log.file.full}</File>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.file.backup.fileNamePattern}</fileNamePattern>
<maxFileSize>20MB</maxFileSize>
<maxHistory>50</maxHistory>
<totalSizeCap>1000MB</totalSizeCap>
</rollingPolicy>
</appender>
'JAVA > Spring 일반' 카테고리의 다른 글
mysql + mybatis + Spring 조합에서 데이터 존재하는지 판다는하는 소스와 쿼리(성능 감안) (0) | 2022.04.08 |
---|---|
자주 사용하는 Spring valid관련 내용들 - 메모 (0) | 2022.04.05 |
spring boot sitemap 생성하기 (2) | 2021.05.02 |
springboot + webflux + websocket 공부 - 2 (0) | 2020.09.23 |
springboot + webflux + websocket 공부 - 1 (0) | 2020.09.23 |