feat: logback-spring.xml 수정
This commit is contained in:
parent
12839707ae
commit
7166dc5aed
@ -1,6 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 60초마다 설정 파일의 변경을 확인 하여 변경시 갱신 -->
|
||||
<!--
|
||||
[Layout]
|
||||
%m : 로그내용이 출력
|
||||
%p : trace > debug > info > warn > error 등의 priority 출력
|
||||
%r : 어플리케이션이 시작되어 로깅이벤트가 발생하는 시점까지의 경과시간을 밀리세컨드로 출력
|
||||
%c : 예) 카테고리가 a.b.c 처럼 되어있다면 %c{2}는 b.c가 출력됩니다.
|
||||
%n : 플랫폼 종속적인 개행문자가 출력된다. \r\n 또는 \n 일것이다
|
||||
%d : 로깅이벤트가 일어나 날짜 출력 ( 프로그램의 실행속도를 느리게 한다.)
|
||||
예) %d{HH:mm:ss} 또는 %d{dd MMMM yyyy HH:mm:ss}
|
||||
%C : 호출자의 클래스명 출력
|
||||
예) 클래스구조가 org.apache.xyz.SomeClass 처럼 되어있다면 %C{2}는 xyz.SomeClass 가 출력됩니다
|
||||
%M : 로깅이 발생한 method 이름을 나타냅니다.
|
||||
%F : 로깅이 발생한 프로그램 파일명을 나타냅니다.
|
||||
%l : 로깅이 발생한 caller의 정보를 나타냅니다
|
||||
%L : 로깅이 발생한 caller의 라인수를 나타냅니다
|
||||
%x : 로깅이 발생한 thread와 관련된 NDC(nested diagnostic context)를 출력합니다.
|
||||
%X : 로깅이 발생한 thread와 관련된 MDC(mapped diagnostic context)를 출력합니다.
|
||||
%% : % 표시를 출력하기 위해 사용한다.
|
||||
%t : 로그이벤트가 발생된 쓰레드의 이름을 출력합니다
|
||||
-->
|
||||
<configuration scan="true" scanPeriod="30 seconds">
|
||||
|
||||
<!--springProfile 태그를 사용하면 logback 설정파일에서 복수개의 프로파일을 설정할 수 있다.-->
|
||||
<springProfile name="dev">
|
||||
<property resource="logback-dev.properties"/>
|
||||
@ -13,61 +33,44 @@
|
||||
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
|
||||
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
|
||||
|
||||
<!-- log file path -->
|
||||
<property name="LOG_PATH" value="${log.config.path}"/>
|
||||
<property name="LOG_FILE_NAME" value="${log.config.filename}"/><!-- log file name -->
|
||||
<property name="ERR_LOG_FILE_NAME" value="err_log"/><!-- err log file name -->
|
||||
<!-- pattern -->
|
||||
<property name="LOG_PATTERN" value="%clr(%d{yyMMdd HH:mm:ss}){green} %clr([%-5level]){cyan} [%thread] %clr([%logger{1}:%line]){magenta} - %msg%n"/>
|
||||
<!--blue, cyan, faint, green, magenta, red, yellow-->
|
||||
<!-- Console Appender -->
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<property name="LOG_DIR" value="${log.config.path}"/>
|
||||
<property name="ERR_LOG_FILE_NAME" value="err_log"/><!-- err log file name -->
|
||||
|
||||
<!-- File Appender -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<!-- 파일경로 설정 -->
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}.log</file>
|
||||
|
||||
<!-- 출력패턴 설정-->
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<!-- Rolling 정책 -->
|
||||
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<!-- rollover daily -->
|
||||
<fileNamePattern>${LOG_DIR}/logback-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
<!-- or whenever the file size reaches 100MB -->
|
||||
<maxFileSize>100MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거-->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!--<MinIndex>1</MinIndex>
|
||||
<MaxIndex>10</MaxIndex>-->
|
||||
<maxHistory>90</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<layout class="ch.qos.logback.classic.PatternLayout">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
|
||||
<!-- 에러의 경우 파일에 로그 처리 -->
|
||||
<appender name="Error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>info</level>
|
||||
<!-- <level>${logging.level.root}</level>-->
|
||||
<!-- <onMatch>ACCEPT</onMatch>-->
|
||||
<!-- <onMismatch>DENY</onMismatch>-->
|
||||
</filter>
|
||||
<file>${LOG_PATH}/${ERR_LOG_FILE_NAME}.log</file>
|
||||
<file>${LOG_DIR}/${ERR_LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
<!-- Rolling 정책 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${ERR_LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<fileNamePattern>${LOG_DIR}/${ERR_LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
@ -77,18 +80,31 @@
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!-- root레벨 설정 -->
|
||||
<!-- <root level="INFO">-->
|
||||
<root level="${logging.level.root}">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</root>
|
||||
<!-- Loggers -->
|
||||
<!-- <logger name="org.apache.catalina" level="ERROR">
|
||||
</logger>
|
||||
|
||||
<!-- 특정패키지 로깅레벨 설정 -->
|
||||
<!-- <logger name="org.apache.ibatis" level="DEBUG" additivity="false">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- <appender-ref ref="FILE"/>-->
|
||||
<!-- <appender-ref ref="Error"/>-->
|
||||
<!-- </logger>-->
|
||||
<logger name="org.apache.commons" level="ERROR">
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework" level="DEBUG" >
|
||||
</logger>
|
||||
|
||||
<logger name="egovframework.*" level="DEBUG">
|
||||
</logger>
|
||||
|
||||
<logger name="java.sql" level="DEBUG">
|
||||
</logger>
|
||||
|
||||
<logger name="org.mybatis.spring" level="DEBUG">
|
||||
</logger>
|
||||
|
||||
<logger name="egovframework.sqlmappers" level="TRACE">
|
||||
</logger> -->
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="ROLLING"/>
|
||||
<appender-ref ref="STDOUT" />
|
||||
<appender-ref ref="Error" />
|
||||
</root>
|
||||
</configuration>
|
||||
95
src/main/resources/logback-spring.xml_back
Normal file
95
src/main/resources/logback-spring.xml_back
Normal file
@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 60초마다 설정 파일의 변경을 확인 하여 변경시 갱신 -->
|
||||
<configuration scan="true" scanPeriod="30 seconds">
|
||||
<!--springProfile 태그를 사용하면 logback 설정파일에서 복수개의 프로파일을 설정할 수 있다.-->
|
||||
<springProfile name="dev">
|
||||
<property resource="logback-dev.properties"/>
|
||||
</springProfile>
|
||||
<springProfile name="prod">
|
||||
<property resource="logback-prod.properties"/>
|
||||
</springProfile>
|
||||
|
||||
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
|
||||
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
|
||||
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
|
||||
|
||||
<!-- log file path -->
|
||||
<property name="LOG_DIR" value="${log.config.path}"/>
|
||||
<property name="LOG_FILE_NAME" value="${log.config.filename}"/><!-- log file name -->
|
||||
<property name="ERR_LOG_FILE_NAME" value="err_log"/><!-- err log file name -->
|
||||
<!-- pattern -->
|
||||
<property name="LOG_PATTERN" value="%clr(%d{yyMMdd HH:mm:ss}){green} %clr([%-5level]){cyan} [%thread] %clr([%logger{1}:%line]){magenta} - %msg%n"/>
|
||||
<!--blue, cyan, faint, green, magenta, red, yellow-->
|
||||
<!-- Console Appender -->
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- File Appender -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<!-- 파일경로 설정 -->
|
||||
<!-- <file>${LOG_DIR}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}.log</file>-->
|
||||
<file>${LOG_DIR}/${LOG_FILE_NAME}.log</file>
|
||||
|
||||
<!-- 출력패턴 설정-->
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<!-- Rolling 정책 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_DIR}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거-->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!--<MinIndex>1</MinIndex>
|
||||
<MaxIndex>10</MaxIndex>-->
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!-- 에러의 경우 파일에 로그 처리 -->
|
||||
<appender name="Error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>info</level>
|
||||
<!-- <level>${logging.level.root}</level>-->
|
||||
<!-- <onMatch>ACCEPT</onMatch>-->
|
||||
<!-- <onMismatch>DENY</onMismatch>-->
|
||||
</filter>
|
||||
<file>${LOG_DIR}/${ERR_LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
<!-- Rolling 정책 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_DIR}/${ERR_LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거-->
|
||||
<maxHistory>60</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!-- root레벨 설정 -->
|
||||
<!-- <root level="INFO">-->
|
||||
<root level="${logging.level.root}">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</root>
|
||||
|
||||
<!-- 특정패키지 로깅레벨 설정 -->
|
||||
<!-- <logger name="org.apache.ibatis" level="DEBUG" additivity="false">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- <appender-ref ref="FILE"/>-->
|
||||
<!-- <appender-ref ref="Error"/>-->
|
||||
<!-- </logger>-->
|
||||
</configuration>
|
||||
Loading…
Reference in New Issue
Block a user