<?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>
<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>