이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 5 다음 »

파일명 주의

Logback 설정 파일의 파일명을 logback.xml 파일로 사용하면 Spring Boot Application JAR 파일을 실행할 때 외부에서 옵션을 통해서 Logback 설정 파일을 변경하고자 하는 경우 적용되지 않을 수 있습니다. 따라서 Logback 설정 파일은 logback-local.xml 등의 파일명으로 변경해서 사용해야 합니다.


application.yml 파일에 다음과 같이 Logback 설정 파일의 위치를 지정합니다.

logging:
  config: classpath:/logback-local.xml

Logback 설정 파일을 logback-local.xml 으로 작성합니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <jmxConfigurator/>

    <property name="CONSOLE_LOG_PATTERN_DEBUG" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%c:%L]){cyan} %clr(:){faint} %m%n%wex"/>
    <property name="CONSOLE_LOG_PATTERN" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%c:%L]){cyan} %clr(:){faint} %m%n%wex"/>
    <property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } [%t] --- %-40.40logger{39} : %m%n%wex"/>
    <property name="MONITORING_LOG_PATTERN" value="[${PID:- }] [%d{yyyyMMdd-HHmmssSSS}] %m%n%wex"/>

    <property name="LAUNCHER_LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${java.io.tmpdir:-.}/}launcher.log}"/>
    <property name="MONITORING_LOG_FILE" value="./launcher-monitoring.log"/>

    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN_DEBUG}</pattern>
        </encoder>
    </appender>

    <appender name="DEBUG_LEVEL_REMAPPER" class="org.springframework.boot.logging.logback.LevelRemappingAppender">
        <destinationLogger>org.springframework.boot</destinationLogger>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
        <file>${LAUNCHER_LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${LAUNCHER_LOG_FILE}.%i</fileNamePattern>
        </rollingPolicy>
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <appender name="MONITORING" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${MONITORING_LOG_PATTERN}</pattern>
        </encoder>
        <file>${MONITORING_LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${MONITORING_LOG_FILE}.%i</fileNamePattern>
        </rollingPolicy>
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>100MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <logger name="io.datadynamics" level="DEBUG"/>
    <logger name="laucher.monitoring" level="INFO">
        <appender-ref ref="MONITORING"/>
    </logger>

    <logger name="org.hibernate.validator.internal.util.Version" level="WARN"/>
    <logger name="org.apache.coyote.http11.Http11NioProtocol" level="WARN"/>
    <logger name="org.crsh.plugin" level="WARN"/>
    <logger name="org.apache.tomcat.util.net.NioSelectorPool" level="WARN"/>
    <logger name="org.apache.catalina.startup.DigesterFactory" level="ERROR"/>
    <logger name="org.springframework" level="INFO"/>
    <logger name="org.hibernate" level="INFO"/>
    <logger name="org.quartz" level="INFO"/>
    <logger name="com.mchange" level="INFO"/>

    <logger name="jdbc.sqlonly" level="DEBUG"/>
    <logger name="jdbc.sqltiming" level="DEBUG"/>
    <logger name="jdbc.resultset" level="DEBUG"/>
    <logger name="jdbc.audit" level="WARN"/>
    <logger name="jdbc.connection" level="WARN"/>
    <logger name="log4jdbc.debug" level="WARN"/>

    <root level="DEBUG">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

운영 환경에 적용하려면 CentOS 서비스 등록하기를 참고하십시오.

  • 레이블 없음