1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <configuration >
3+ <!-- 로그 패턴 정의 -->
4+ <property name =" LOG_PATTERN" value =" %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
5+ <property name =" LOG_PATH" value =" ./logs" />
6+
7+ <!-- 콘솔 출력 (개발환경용) -->
8+ <appender name =" CONSOLE" class =" ch.qos.logback.core.ConsoleAppender" >
9+ <encoder >
10+ <pattern >${LOG_PATTERN}</pattern >
11+ </encoder >
12+ </appender >
13+
14+ <!-- 파일 출력 - 일반 로그 (운영환경용) -->
15+ <appender name =" FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
16+ <file >${LOG_PATH}/growit-all.log</file > <!-- 일반 로그 파일명 -->
17+
18+ <rollingPolicy class =" ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
19+ <fileNamePattern >${LOG_PATH}/growit.%d{yyyy-MM-dd}.log.gz</fileNamePattern >
20+ <maxHistory >60</maxHistory >
21+ <totalSizeCap >10GB</totalSizeCap >
22+ <cleanHistoryOnStart >true</cleanHistoryOnStart >
23+ </rollingPolicy >
24+
25+ <encoder >
26+ <pattern >${LOG_PATTERN}</pattern >
27+ </encoder >
28+
29+ <filter class =" ch.qos.logback.classic.filter.ThresholdFilter" >
30+ <level >INFO</level >
31+ </filter >
32+ </appender >
33+
34+ <!-- 파일 출력 - 에러 로그 전용 (운영환경용) -->
35+ <appender name =" ERROR_FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
36+ <file >${LOG_PATH}/growit-error.log</file > <!-- 에러 로그 파일명 -->
37+
38+ <rollingPolicy class =" ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
39+ <fileNamePattern >${LOG_PATH}/growit-error.%d{yyyy-MM-dd}.log.gz</fileNamePattern >
40+ <maxHistory >90</maxHistory >
41+ <totalSizeCap >5GB</totalSizeCap >
42+ <cleanHistoryOnStart >true</cleanHistoryOnStart >
43+ </rollingPolicy >
44+
45+ <encoder >
46+ <pattern >${LOG_PATTERN}</pattern >
47+ </encoder >
48+
49+ <filter class =" ch.qos.logback.classic.filter.LevelFilter" >
50+ <level >ERROR</level >
51+ <onMatch >ACCEPT</onMatch >
52+ <onMismatch >DENY</onMismatch >
53+ </filter >
54+ </appender >
55+
56+ <!-- 개발환경: 콘솔만 -->
57+ <springProfile name =" dev" >
58+ <logger name =" umc.GrowIT.Server" level =" DEBUG" />
59+ <logger name =" org.springframework.web" level =" DEBUG" />
60+ <logger name =" org.hibernate.SQL" level =" DEBUG" />
61+
62+ <root level =" INFO" >
63+ <appender-ref ref =" CONSOLE" />
64+ </root >
65+ </springProfile >
66+
67+ <!-- 운영환경: 파일만 -->
68+ <springProfile name =" prod" >
69+ <logger name =" umc.GrowIT.Server" level =" INFO" />
70+ <logger name =" org.springframework" level =" WARN" />
71+ <logger name =" org.hibernate" level =" WARN" />
72+
73+ <root level =" WARN" >
74+ <appender-ref ref =" FILE" />
75+ <appender-ref ref =" ERROR_FILE" />
76+ </root >
77+ </springProfile >
78+
79+ <!-- 기본 설정 (로컬): 콘솔만 -->
80+ <springProfile name =" !dev & !prod" >
81+ <logger name =" umc.GrowIT.Server" level =" DEBUG" />
82+
83+ <root level =" INFO" >
84+ <appender-ref ref =" CONSOLE" />
85+ </root >
86+ </springProfile >
87+ </configuration >
0 commit comments