@@ -113,7 +113,7 @@ Spring Boot에서는 반드시 `logback-spring.xml` 또는 `logback-xxx-spring.x
113113
114114해당 파일은 ` resources ` 디렉터리에 위치시키면 된다.
115115
116- > 파일 구조 예시
116+ > 📁 파일 구조 예시
117117
118118``` markdown
119119src/
122122 └── logback-spring.xml
123123```
124124
125- > logback-spring.xml 예시
125+ ### logback-spring.xml 구성 예시
126126
127127``` xml
128128<?xml version =" 1.0" encoding =" UTF-8" ?>
@@ -145,20 +145,14 @@ src/
145145 </encoder >
146146 </appender >
147147
148- <!-- 파일 로그 Appender -->
148+ <!-- 파일 로그 Appender -->
149149 <appender name =" FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
150150 <encoder >
151151 <pattern >${FILE_LOG_PATTERN}</pattern >
152152 </encoder >
153- <!-- RollingPolicy: 로그 파일의 크기 증가로 인한 가독성 저하를 방지하기 위한 분할 전략 -->
154- <!-- SizeAndTimeBasedRollingPolicy: 로그 파일을 시간과 크기 기준으로 순차적으로 분할 및 보관하는 정책 -->
155153 <rollingPolicy class =" ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" >
156- <!-- 로그 파일명 패턴 -->
157- <!-- 날짜별로 기록되며 maxFileSize를 넘기면 인덱스(i)를 증가시켜 새로운 이름의 로그파일에 기록을 이어간다 -->
158- <fileNamePattern >./log/%d{yyyy-MM-dd}.%i.log</fileNamePattern >
159- <!-- 최대 파일 사이즈 -->
154+ <fileNamePattern >./logs/%d{yyyy-MM-dd}.%i.log</fileNamePattern >
160155 <maxFileSize >100MB</maxFileSize >
161- <!-- 최대 보관 일수 -->
162156 <maxHistory >30</maxHistory >
163157 </rollingPolicy >
164158 </appender >
@@ -176,6 +170,30 @@ src/
176170</configuration >
177171```
178172
173+ 파일 로그는 시스템 운영에 있어 핵심적인 정보 기록 수단이다.
174+
175+ 특히 운영 환경에서는 ** 운영 환경에서는 로그 파일이 무한히 누적되는 것을 방지** 하기 위해, ** 시간 및 크기 기준의 롤링 전략을 적용** 하는 것이 중요하다.
176+
177+ > 주요 구성 요소
178+
179+ * ` RollingPolicy ` : 로그 파일을 일정 기준으로 분할해 가독성과 유지 관리성을 확보하는 전략
180+
181+ * ` SizeAndTimeBasedRollingPolicy ` : 시간(%d)과 크기(%i)를 기준으로 로그 파일을 순차적으로 분할 및 보관
182+
183+ * ` fileNamePattern ` : 로그 파일 이름 형식. 날짜별(` %d ` )로 생성되며, 크기 초과 시 인덱스(` %i ` )를 붙여 분할 (e.g. 2024-07-15.0.log) (운영 환경에서는 ** 절대 경로** 를 권장한다.)
184+
185+ * ` maxFileSize ` : 단일 로그 파일의 최대 크기 (초과 시 새로운 파일 생성)
186+
187+ * ` maxHistory ` : 로그 파일의 최대 보관 기간 (지정 일수 초과 시 자동 삭제)
188+
189+ 예를 들어 ` ./logs/2024-07-15.0.log ` , ` ./logs/2024-07-15.1.log ` 와 같은 형태로 저장되며,
190+
191+ ** 100MB** 단위로 분할되고, ** 30일간** 보관된 후 자동으로 삭제된다.
192+
193+ 이러한 설정을 통해 효율적인 로그 관리로 시스템 안정성과 운영 편의성을 함께 확보할 수 있다.
194+
195+ ## 마무리
196+
179197이와 같은 방식으로 ` logback-spring.xml ` 한 개의 파일만으로도
180198환경(profile)에 따라 유연한 설정이 가능하고, 콘솔 및 파일 로그를 분리해 효율적으로 관리할 수 있다.
181199
0 commit comments