hejianhao
2026-08-28 16a57a8fc6868cea9171a1119698572407a2fc03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?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>