|
| 1 | +<?xml version="1.0" encoding="UTF-8"?> |
| 2 | +<configuration> |
| 3 | + <include resource="org/springframework/boot/logging/logback/defaults.xml"/> |
| 4 | + |
| 5 | + <!-- 콘솔 출력 (Docker 컨테이너의 stdout -> CloudWatch로 전달됨) --> |
| 6 | + <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| 7 | + <encoder> |
| 8 | + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> |
| 9 | + <charset>UTF-8</charset> |
| 10 | + </encoder> |
| 11 | + </appender> |
| 12 | + |
| 13 | + <!-- 파일 출력 (컨테이너 내부 로그 - 백업용) --> |
| 14 | + <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| 15 | + <file>/var/log/application.log</file> |
| 16 | + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| 17 | + <fileNamePattern>/var/log/application.%d{yyyy-MM-dd}.log</fileNamePattern> |
| 18 | + <maxHistory>3</maxHistory> |
| 19 | + <totalSizeCap>1GB</totalSizeCap> |
| 20 | + </rollingPolicy> |
| 21 | + <encoder> |
| 22 | + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> |
| 23 | + <charset>UTF-8</charset> |
| 24 | + </encoder> |
| 25 | + </appender> |
| 26 | + |
| 27 | + <!-- 에러 로그 별도 파일 --> |
| 28 | + <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| 29 | + <file>/var/log/error.log</file> |
| 30 | + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| 31 | + <level>ERROR</level> |
| 32 | + </filter> |
| 33 | + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| 34 | + <fileNamePattern>/var/log/error.%d{yyyy-MM-dd}.log</fileNamePattern> |
| 35 | + <maxHistory>7</maxHistory> |
| 36 | + </rollingPolicy> |
| 37 | + <encoder> |
| 38 | + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n%ex{full}</pattern> |
| 39 | + <charset>UTF-8</charset> |
| 40 | + </encoder> |
| 41 | + </appender> |
| 42 | + |
| 43 | + <!-- 루트 로거 --> |
| 44 | + <root level="INFO"> |
| 45 | + <appender-ref ref="CONSOLE"/> |
| 46 | + <appender-ref ref="FILE"/> |
| 47 | + <appender-ref ref="ERROR_FILE"/> |
| 48 | + </root> |
| 49 | + |
| 50 | + <!-- 애플리케이션 로그는 DEBUG로 --> |
| 51 | + <logger name="HearDay.spring" level="DEBUG"/> |
| 52 | + |
| 53 | + <!-- 외부 라이브러리 로그 레벨 조정 --> |
| 54 | + <logger name="org.springframework" level="INFO"/> |
| 55 | + <logger name="org.hibernate" level="INFO"/> |
| 56 | + <logger name="com.zaxxer.hikari" level="INFO"/> |
| 57 | + |
| 58 | + <!-- SQL 로그 (필요시 DEBUG로 변경) --> |
| 59 | + <logger name="org.hibernate.SQL" level="INFO"/> |
| 60 | + <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="INFO"/> |
| 61 | +</configuration> |
0 commit comments