Logback xml 생성
/resourese/logback-spring.xml 생성
<configuration> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 로그 경로 --> <file>logs/app.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- 백업 파일 이름: logs/app.log.2025-06-10.0.gz --> <fileNamePattern>logs/app.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern> <!-- 1MB 넘으면 분할 백업 (테스트) --> <maxFileSize>1MB</maxFileSize> <!-- 최대 7일치 백업 보관 --> <maxHistory>7</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="ROLLING"/> </root> </configuration>
Test 로그 생성
package com.log.logback; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; @Component public class LogRollingTester implements CommandLineRunner { private static final Logger logger = LoggerFactory.getLogger(LogRollingTester.class); @Override public void run(String... args) { for (int i = 0; i < 100_000; i++) { logger.info("테스트 로그 - 롤링 동작 확인 중: Line {}", i); } } }
결과
- logs 디렉토리에 app.log, app.log.2025-06-10.?.gz 파일들을 확인
- 디스크는 무제한이 아니므로 백업을 고려해야 한다.
'Spring' 카테고리의 다른 글
[Spring] Logback 로그 관리 (2) | 2025.06.10 |
---|---|
[Spring Boot 2] 소나큐브(SonarQube), JaCoCo 연동하여 정적 분석 (0) | 2024.07.05 |
[Spring Boot 3] 소나큐브(SonarQube), JaCoCo 연동하여 정적 분석 (1) | 2024.07.05 |
[Spring] JaCoCo를 통한 Code Coverage 측정 (0) | 2024.07.03 |
[Spring] JUnit5 테스트 코드 작성 (0) | 2023.10.06 |