logback spring.xml - redutan/redutan.github.io GitHub Wiki

Simple

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <springProperty name="APPLICATION_NAME" source="spring.application.name" defaultValue="@project.name@"/>
    <springProperty name="VERSION" source="project.version" defaultValue="@project.version@"/>
    <springProperty name="APPKEY" source="lck.appKey" defaultValue="?????"/>
    <springProperty name="PHASE" source="common.env" defaultValue="unknown"/>

    <springProfile name="remote-logging">
        <appender name="lck-appender" class="???.LogAggregateAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>WARN</level>
            </filter>
            <param name="collectorUrl" value="http://aggregate.log.com"/>
            <param name="appKey" value="${APPKEY}"/>
            <param name="version" value="${VERSION}"/>
            <param name="logSource" value="${APPLICATION_NAME}"/>
            <param name="logType" value="${PHASE}"/>
            <param name="errorCodeType" value="default"/>
            <param name="enable" value="true"/>
            <param name="debug" value="false"/>
        </appender>
    </springProfile>

    <springProfile name="remote-logging">
        <root>
            <appender-ref ref="lck-appender"/>
        </root>
    </springProfile>
</configuration>

Custom

<configuration>
    <!-- reference : https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html -->
    <!-- logback ํ”„๋กœํผํ‹ฐ ์„ค์ • -->
    <property name="VERSION" value="@version@"/>
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
    <!-- ์Šคํ”„๋ง ํ”„๋กœํผํ‹ฐ ์„ค์ • -->
    <springProperty name="APPLICATION_NAME" source="spring.application.name" defaultValue="@projectName@"/>
    <springProperty name="PHASE" source="phase" defaultValue="local"/>
    <springProperty name="SERVER_PORT" source="server.port" defaultValue="0"/>
    <springProperty name="MAX_HISTORY" source="logging.file.max-history" defaultValue="14"/>
    <springProperty name="ROOT_LEVEL" source="logging.level.root" defaultValue="INFO"/>
    <springProperty name="AMP_LEVEL" source="logging.level.com.amp" defaultValue="INFO"/>
    <springProperty name="SPRINGFRAMEWORK_LEVEL" source="logging.level.org.springframework" defaultValue="INFO"/>

    <!-- ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ๊ธฐ๋ณธ ์„ค์ •์„ ํฌํ•จ -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <!-- ์Šคํ”„๋ง ํ”„๋กœํ•„์ด local์ด ์•„๋‹Œ ๊ฒฝ์šฐ -->
    <springProfile name="!local">
        <!-- ํŒŒ์ผ ๋กœ๊ทธ Appender -->
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder>
                <pattern>${FILE_LOG_PATTERN}</pattern>
            </encoder>
            <file>${LOG_FILE}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}</fileNamePattern>
                <maxHistory>${MAX_HISTORY}</maxHistory>
            </rollingPolicy>
        </appender>
    </springProfile>

    <springProfile name="beta, release">
        <!-- ์šด์˜์šฉ LCK ์„ค์ •? -->
    </springProfile>

    <!-- local ํ™˜๊ฒฝ์ธ ๊ฒฝ์šฐ console ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. -->
    <springProfile name="local">
        <root level="${ROOT_LEVEL}">
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <!-- alpha ํ™˜๊ฒฝ์ธ ๊ฒฝ์šฐ file ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. -->
    <springProfile name="alpha">
        <root level="${ROOT_LEVEL}">
            <appender-ref ref="FILE"/>
        </root>
    </springProfile>

    <springProfile name="performance">
        <root level="${ROOT_LEVEL}">
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <!-- beta, release ํ™˜๊ฒฝ์ธ ๊ฒฝ์šฐ file, LCK ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. -->
    <springProfile name="beta, release">
        <root level="${ROOT_LEVEL}">
            <appender-ref ref="FILE"/>
            <appender-ref ref="LCK"/><!-- ?? -->
        </root>
    </springProfile>
</configuration>
โš ๏ธ **GitHub.com Fallback** โš ๏ธ