totalSizeCap 속성은 maxHistory 속성에 종속되어 있다.
- totalSizeCap 속성은 maxHistory 속성 설정 시에만 동작한다.
정상 (totalSizeCap 기능 동작 O)
<appender name="TEST-html"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}${TEST_LOG_HTML}</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}${TEST_ARCHIVE_LOG_HTML}</fileNamePattern>
<!-- each archived file, size max 10MB -->
<maxFileSize>10MB</maxFileSize>
<!-- (아카이브 삭제 조건 1 : maxHistory) -->
<!-- 60 days to keep -->
<maxHistory>60</maxHistory>
<!-- (아카이브 삭제 조건 2 : totalSizeCap, maxHistory 속성 설정 시에만 동작한다.) -->
<!-- total size of all archive files, if total size > 20GB, it will delete
old archived file -->
<totalSizeCap>20GB</totalSizeCap>
<!-- Application 기동 시 기존 아카이브 파일 삭제 -->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="ch.qos.logback.classic.html.HTMLLayout">
<pattern>%relative%thread%mdc%level%logger%msg</pattern>
</layout>
</encoder>
</appender>
비정상 (totalSizeCap 기능 동작 X)
<appender name="TEST-html"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}${TEST_LOG_HTML}</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}${TEST_ARCHIVE_LOG_HTML}</fileNamePattern>
<!-- each archived file, size max 10MB -->
<maxFileSize>10MB</maxFileSize>
<!-- (아카이브 삭제 조건 1 : maxHistory) -->
<!-- 60 days to keep -->
<!-- <maxHistory>60</maxHistory> -->
<!-- (아카이브 삭제 조건 2 : totalSizeCap, maxHistory 속성 설정 시에만 동작한다.) -->
<!-- total size of all archive files, if total size > 20GB, it will delete
old archived file -->
<totalSizeCap>20GB</totalSizeCap>
<!-- Application 기동 시 기존 아카이브 파일 삭제 -->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="ch.qos.logback.classic.html.HTMLLayout">
<pattern>%relative%thread%mdc%level%logger%msg</pattern>
</layout>
</encoder>
</appender>
속성 명세표
옵션명 | 입력 포맷 | 비고 |
maxFileSize | KB, MB, GB ex) 10MB |
개별 로그파일 최대 용량 |
maxHistory | 1, ..., n ex) 7 |
아카이브(백업) 전체 허용 개수 - fileNamePattern 설정값에 따라 rollover 주기가 결정됨. ex1) %d{yyyy-MM-dd} - 직전 7일까지 저장 허용 ex2) %d{yyyy-MM-dd_HH-mm} - 직전 7분까지 저장 허용 |
totalSizeCap | KB, MB, GB ex) 20GB |
아카이브(백업) 전체 용량, maxHistory 속성 설정 시에만 동작한다. |
cleanHistoryOnStart | true, false (default : false) ex) true |
Application 시작 시 아카이브(백업)된 로그 파일 삭제 |
참조