|
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <configuration> |
3 | 3 |
|
| 4 | + <!-- 1. 기본 패턴 및 속성 정의 --> |
4 | 5 | <conversionRule conversionWord="clr" class="org.springframework.boot.logging.logback.ColorConverter"/> |
5 | 6 |
|
6 | 7 | <property name="CONSOLE_PATTERN" |
|
15 | 16 | <property name="TOTAL_SIZE" value="100MB"/> |
16 | 17 | <property name="MAX_HISTORY" value="7"/> |
17 | 18 |
|
18 | | - <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| 19 | + <!-- 2. Appender 분리 정의 --> |
| 20 | + |
| 21 | + <!-- 로컬 개발 환경용: 기존 텍스트 콘솔 Appender --> |
| 22 | + <appender name="CONSOLE_TEXT" class="ch.qos.logback.core.ConsoleAppender"> |
19 | 23 | <encoder> |
20 | 24 | <pattern>${CONSOLE_PATTERN}</pattern> |
21 | 25 | </encoder> |
22 | 26 | </appender> |
23 | 27 |
|
| 28 | + <!-- 서버 환경용: Datadog 친화 JSON 콘솔 Appender --> |
| 29 | + <appender name="CONSOLE_JSON" class="ch.qos.logback.core.ConsoleAppender"> |
| 30 | + <encoder class="net.logstash.logback.encoder.LogstashEncoder"/> |
| 31 | + </appender> |
| 32 | + |
| 33 | + <!-- 서버 환경용: 기존 롤링 파일 Appender (백업용) --> |
24 | 34 | <appender name="ROLLING_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
25 | 35 | <file>${FILE_PATH_NAME}</file> |
26 | 36 | <encoder> |
|
34 | 44 | </rollingPolicy> |
35 | 45 | </appender> |
36 | 46 |
|
| 47 | + <!-- 3. 프로필별 Appender 참조 설정 --> |
| 48 | + |
| 49 | + <!-- local 프로필: 콘솔 출력만 사용하고, 롤링 파일은 만들지 않음 --> |
37 | 50 | <springProfile name="local"> |
38 | 51 | <root level="INFO"> |
39 | | - <appender-ref ref="CONSOLE"/> |
| 52 | + <appender-ref ref="CONSOLE_TEXT"/> |
40 | 53 | </root> |
41 | 54 | </springProfile> |
42 | 55 |
|
| 56 | + <!-- dev 프로필: JSON 콘솔 출력과 기존 텍스트 롤링 형식 사용 --> |
43 | 57 | <springProfile name="dev"> |
44 | 58 | <root level="INFO"> |
45 | | - <appender-ref ref="CONSOLE"/> |
| 59 | + <appender-ref ref="CONSOLE_JSON"/> |
46 | 60 | <appender-ref ref="ROLLING_LOG_FILE"/> |
47 | 61 | </root> |
48 | 62 | </springProfile> |
49 | 63 |
|
| 64 | + <!-- prod 프로필: JSON 콘솔 출력과 기존 텍스트 롤링 사용 --> |
50 | 65 | <springProfile name="prod"> |
51 | 66 | <property name="LOG_NAME_PATTERN" value="${LOG_DIR}/eatda-%d{yyyy-MM-dd}.%i.log.gz"/> |
52 | 67 |
|
53 | 68 | <root level="INFO"> |
54 | | - <appender-ref ref="CONSOLE"/> |
| 69 | + <appender-ref ref="CONSOLE_JSON"/> |
55 | 70 | <appender-ref ref="ROLLING_LOG_FILE"/> |
56 | 71 | </root> |
57 | 72 | </springProfile> |
|
0 commit comments