로그파일 설정
parent
d13da9b5ab
commit
bea56a8e30
@ -0,0 +1,147 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<!-- 기본 로그 경로 및 파일명 설정 (application.yml에서 설정되지 않은 경우 사용) -->
|
||||
<springProperty scope="context" name="LOG_PATH" source="logging.file.path" defaultValue="logs" />
|
||||
<springProperty scope="context" name="LOG_FILE" source="logging.file.name" defaultValue="vmis-interface" />
|
||||
<springProperty scope="context" name="MAX_FILE_SIZE" source="logging.logback.rollingpolicy.max-file-size" defaultValue="10MB" />
|
||||
<springProperty scope="context" name="MAX_HISTORY" source="logging.logback.rollingpolicy.max-history" defaultValue="30" />
|
||||
|
||||
<!-- 로그 패턴 설정 -->
|
||||
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
|
||||
<property name="LOG_CHARSET" value="UTF-8"/>
|
||||
|
||||
<!-- 콘솔 출력 설정 -->
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
<charset>${LOG_CHARSET}</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 컬러 콘솔 출력 설정 (개발 환경용) -->
|
||||
<appender name="CONSOLE_COLOR" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) [%thread] %cyan(%logger{36}) - %msg%n</pattern>
|
||||
<charset>${LOG_CHARSET}</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 파일 출력 설정 (전체 로그) -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_PATH}/${LOG_FILE}.log</file>
|
||||
<encoder>
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
<charset>${LOG_CHARSET}</charset>
|
||||
</encoder>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!-- 일별 로그 파일 생성 -->
|
||||
<fileNamePattern>${LOG_PATH}/${LOG_FILE}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||
<!-- 파일당 최고 용량 -->
|
||||
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
|
||||
<!-- 로그 보관 기간 -->
|
||||
<maxHistory>${MAX_HISTORY}</maxHistory>
|
||||
<cleanHistoryOnStart>true</cleanHistoryOnStart>
|
||||
<!-- 전체 로그 파일의 최대 크기 -->
|
||||
<totalSizeCap>3GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!-- 에러 로그 파일 출력 설정 -->
|
||||
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_PATH}/${LOG_FILE}-error.log</file>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>ERROR</level>
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
<charset>${LOG_CHARSET}</charset>
|
||||
</encoder>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_PATH}/${LOG_FILE}-error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||
<!-- 파일당 최고 용량 -->
|
||||
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
|
||||
<maxHistory>90</maxHistory>
|
||||
<cleanHistoryOnStart>true</cleanHistoryOnStart>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!-- 비동기 파일 출력 설정 (성능 향상) -->
|
||||
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<appender-ref ref="FILE" />
|
||||
<queueSize>512</queueSize>
|
||||
<discardingThreshold>0</discardingThreshold>
|
||||
<includeCallerData>false</includeCallerData>
|
||||
<neverBlock>false</neverBlock>
|
||||
</appender>
|
||||
|
||||
<!-- 비동기 에러 파일 출력 설정 -->
|
||||
<appender name="ASYNC_ERROR_FILE" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<appender-ref ref="ERROR_FILE" />
|
||||
<queueSize>256</queueSize>
|
||||
<discardingThreshold>0</discardingThreshold>
|
||||
<includeCallerData>false</includeCallerData>
|
||||
<neverBlock>false</neverBlock>
|
||||
</appender>
|
||||
|
||||
<!-- 개발 환경 설정 -->
|
||||
<springProfile name="dev">
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE_COLOR" />
|
||||
<appender-ref ref="ASYNC_FILE" />
|
||||
<appender-ref ref="ASYNC_ERROR_FILE" />
|
||||
</root>
|
||||
|
||||
<!-- 애플리케이션 로그 레벨 -->
|
||||
<logger name="com.vmis.interfaceapp" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE_COLOR"/>
|
||||
<appender-ref ref="ASYNC_FILE"/>
|
||||
<appender-ref ref="ASYNC_ERROR_FILE"/>
|
||||
</logger>
|
||||
|
||||
<!-- Spring Framework 로그 -->
|
||||
<logger name="org.springframework" level="INFO"/>
|
||||
<logger name="org.springframework.web" level="DEBUG"/>
|
||||
</springProfile>
|
||||
|
||||
<!-- 운영 환경 설정 -->
|
||||
<springProfile name="prd">
|
||||
<root level="WARN">
|
||||
<appender-ref ref="CONSOLE" />
|
||||
<appender-ref ref="ASYNC_FILE" />
|
||||
<appender-ref ref="ASYNC_ERROR_FILE" />
|
||||
</root>
|
||||
|
||||
<!-- 애플리케이션 로그 레벨 -->
|
||||
<logger name="com.vmis.interfaceapp" level="INFO" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="ASYNC_FILE"/>
|
||||
<appender-ref ref="ASYNC_ERROR_FILE"/>
|
||||
</logger>
|
||||
|
||||
<!-- Spring Framework 로그 -->
|
||||
<logger name="org.springframework" level="WARN"/>
|
||||
<logger name="org.springframework.web" level="INFO"/>
|
||||
</springProfile>
|
||||
|
||||
<!-- 기본 설정 (프로파일 미지정 시) -->
|
||||
<springProfile name="default">
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE_COLOR"/>
|
||||
<appender-ref ref="ASYNC_FILE"/>
|
||||
<appender-ref ref="ASYNC_ERROR_FILE"/>
|
||||
</root>
|
||||
|
||||
<logger name="com.vmis.interfaceapp" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE_COLOR"/>
|
||||
<appender-ref ref="ASYNC_FILE"/>
|
||||
<appender-ref ref="ASYNC_ERROR_FILE"/>
|
||||
</logger>
|
||||
|
||||
<!-- Spring Framework 로그 -->
|
||||
<logger name="org.springframework" level="INFO"/>
|
||||
<logger name="org.springframework.web" level="DEBUG"/>
|
||||
</springProfile>
|
||||
|
||||
</configuration>
|
||||
Loading…
Reference in New Issue