logback.xml 3.19 KB
Newer Older
1 2 3
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">

xieshixiang committed
4
    <springProperty scope="context" name="logPath" source="logging.path" defaultValue="../../log"/>
xieshixiang committed
5 6
    <property name="logPath" value="../../../log/park"/>
    <property name="appName" value="park"/>
7

xieshixiang committed
8
    <property name="moduleName" value="park"/>
9
    <!-- 文档保留天数 -->
xieshixiang committed
10
    <property name="maxHistory" value="10"/>
11 12
    <!-- 文档保留总大小 -->
    <property name="totalSizeCap" value="10GB"/>
xieshixiang committed
13 14
    <!-- 日志文件大小 -->
    <property name="maxFileSize" value="100MB"/>
15
    <property name="CONSOLE_LOG_PATTERN"
xieshixiang committed
16
              value="%cyan(%d)|%highlight(%level)|${moduleName},%X{X-B3-TraceId},%X{X-B3-SpanId},%X{X-Span-Export}|%yellow(%thread)|%blue(%logger{36}:%line)|%msg%n"/>
17 18 19

    <!--没有颜色-->
    <property name="FILE_LOG_PATTERN"
xieshixiang committed
20 21
              value="%d|%level|${moduleName},%X{X-B3-TraceId},%X{X-B3-SpanId},%X{X-Span-Export}|%thread|%logger{36}:%line|%msg%n"/>

22 23 24
    <!--%X{requestId}-->

    <!--输出到控制台 ConsoleAppender-->
xieshixiang committed
25
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
26 27 28 29 30
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </layout>
    </appender>

xieshixiang committed
31
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
32 33 34 35 36 37
        <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则
            如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
            的日志改名为今天的日期。即,<File> 的日志都是当天的。
        -->
        <File>${logPath}/${appName}-${moduleName}.log</File>
        <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
xieshixiang committed
38
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
39
            <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
xieshixiang committed
40 41
            <FileNamePattern>${logPath}/${appName}-${moduleName}.log.%d{yyyy-MM-dd}.%i</FileNamePattern>
            <!--只保留最近天数的日志-->
42 43 44
            <maxHistory>${maxHistory}</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <totalSizeCap>${totalSizeCap}</totalSizeCap>
xieshixiang committed
45 46
            <maxFileSize>${maxFileSize}</maxFileSize>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
47
        </rollingPolicy>
xieshixiang committed
48 49


50 51 52 53 54 55 56
        <!--日志输出编码格式化-->
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

xieshixiang committed
57 58 59 60
    <!-- 在程序的开发测试阶段,可以调整level的级别,常用级别优先级为: -->
    <!-- TRACE < DEBUG < INFO < WARN < ERROR  -->
    <logger name="org.springframework.boot" level="WARN"/>
    <logger name="com.netflix.discovery.shared.resolver.aws.ConfigClusterResolver" level="WARN"/>
61

xieshixiang committed
62 63 64 65
    <logger name="root" level="INFO" additivity="false">
        <appender-ref ref="console"/>
        <appender-ref ref="rollingFile"/>
    </logger>
66
</configuration>