JAVA/Spring 일반
                
              logback file appender 설정
                달사자!
                 2021. 8. 26. 10:05
              
                          
            메모. 개인적으로 사용하는 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>