<?xml version="1.0" encoding="UTF-8"?>
|
<configuration scan="true" scanPeriod="60 seconds">
|
|
<springProperty scope="context" name="APP_NAME" source="spring.application.name" defaultValue="tcm-training-admin-backend"/>
|
<springProperty scope="context" name="LOG_PATH" source="app.logging.path" defaultValue="./logs"/>
|
<springProperty scope="context" name="LOG_MAX_HISTORY" source="app.logging.max-history" defaultValue="30"/>
|
<springProperty scope="context" name="LOG_TOTAL_SIZE_CAP" source="app.logging.total-size-cap" defaultValue="3GB"/>
|
<springProperty scope="context" name="LOG_MAX_FILE_SIZE" source="app.logging.max-file-size" defaultValue="100MB"/>
|
<springProperty scope="context" name="ROOT_LEVEL" source="logging.level.root" defaultValue="INFO"/>
|
<springProperty scope="context" name="APP_LEVEL" source="logging.level.com.tcm.training.admin" defaultValue="INFO"/>
|
<springProperty scope="context" name="WEB_LEVEL" source="logging.level.org.springframework.web" defaultValue="INFO"/>
|
|
<property name="LOG_PATTERN"
|
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n%ex"/>
|
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
<encoder>
|
<pattern>${LOG_PATTERN}</pattern>
|
<charset>UTF-8</charset>
|
</encoder>
|
</appender>
|
|
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<file>${LOG_PATH}/app.log</file>
|
<append>true</append>
|
<encoder>
|
<pattern>${LOG_PATTERN}</pattern>
|
<charset>UTF-8</charset>
|
</encoder>
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
<fileNamePattern>${LOG_PATH}/archive/app.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
|
<maxHistory>${LOG_MAX_HISTORY}</maxHistory>
|
<totalSizeCap>${LOG_TOTAL_SIZE_CAP}</totalSizeCap>
|
<maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize>
|
<cleanHistoryOnStart>false</cleanHistoryOnStart>
|
</rollingPolicy>
|
</appender>
|
|
<logger name="com.tcm.training.admin" level="${APP_LEVEL}" additivity="true"/>
|
<logger name="org.springframework.web" level="${WEB_LEVEL}" additivity="true"/>
|
|
<root level="${ROOT_LEVEL}">
|
<appender-ref ref="CONSOLE"/>
|
<appender-ref ref="FILE"/>
|
</root>
|
|
</configuration>
|