티스토리 뷰
반응형
운영서버에 로그파일을 계속 만들게 되면
언젠가 용량이 너무 많아서 디스크제한에 문제가 발생하게 된다.
그래서 적당한 시점에 로그파일을 압축한 뒤 보관하거나
오래된 로그파일을 삭제하도록 설정해줘야 할 필요가 있다.
나는 간단하게 로그파일이 기준 용량을 넘으면
압축해서 보관하고 히스토리 갯수가 일정갯수 넘어가면 지우게끔 처리하였다.
// application.yml
...
---
spring:
config:
activate:
on-profile: was1
logging:
level:
root: info
file:
name: /data/log/was1.log
logback:
rollingpolicy:
max-file-size: 10MB
max-history: 10
---
spring:
config:
activate:
on-profile: was2
logging:
level:
root: info
file:
name: /data/log/was2.log
logback:
rollingpolicy:
max-file-size: 10MB
max-history: 10
profile 에 따라 로그를 따로 작성하게끔 하였고
로그 수준은 info, warn, error 만 보도록 info 로 설정하고
로그명은 해당 위치에 '프로파일명.log' 로 만들어지게 하였다.
그런 다음 logback 옵션에서 파일 롤링정책을 적용했다.
로그파일 사이즈가 10mb 가 넘으면 새로 파일을 쓰게 했고
보유 로그 히스토리가 10개만 유지하게 끔 그 외에는 삭제되게 설정하였다.
이외에 롤링되어 백업될 파일명을 따로 지정하지는 않았는데
기본동작으로 '로그파일명.날짜.순번.log' 로 기록되는 것을 확인했다.
-rw-r--r--. 1 jenkins-ssh jenkins 40K Aug 29 16:27 was1.log
-rw-r--r--. 1 jenkins-ssh jenkins 11K Jul 2 13:45 was1.log.2024-06-24.0.gz
-rw-r--r--. 1 jenkins-ssh jenkins 3.8K Aug 29 16:26 was1.log.2024-08-22.0.gz
-rw-r--r--. 1 jenkins-ssh jenkins 40K Aug 29 16:38 was2.log
-rw-r--r--. 1 jenkins-ssh jenkins 3.8K Aug 29 16:38 was2.log.2024-08-20.0.gz
# 그외 옵션들
# 롤링정책 파일 패턴
file-name-pattern: /data/was2.%d{yyyy-MM-dd}.%i.gz
# 시작시 max history 도래한 파일 자동 삭제
clean-history-on-start: true
# 모든 로그파일의 총 크기 제한. 이를 넘어가면 삭제됨
total-size-cap: 1GB
참고자료
반응형
'Java > SpringBoot&Spring' 카테고리의 다른 글
[SpringBoot] poi 라이브러리 버전에 따른 오류해결 (feat.ibSheet8 엑셀다운로드) (1) | 2024.11.20 |
---|---|
[Springboot] redis cache 심플하게 사용해보기. (0) | 2024.10.18 |
[Thymeleaf] 주간 요일 구하기 (0) | 2024.06.28 |
[Springboot] 외부 라이브러리 추가 (feat.intelliJ) (0) | 2024.06.18 |
[Thymeleaf] preprocessing expressions; 전처리 표현식을 동적으로 사용. (1) | 2024.06.14 |
댓글