zj
2024-06-03 3603ecb207f7e712c635f19531e05fac4d19e53f
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true">
    <!-- 应用名称 -->
    <property name="appName" value="admin"/>
    <!-- 日志路径,在Linux下需要修改路径 -->
    <property name="logPath" value="/root/logs/${appName}"/>
    <!-- 日志格式,显示方法名与日志所在行号 -->
    <property name="logPattern" value="%d{HH:mm:ss.SSS} %-5level %logger{200}.%M:%L - %msg%n"/>
 
    <!-- 输出所有日志到标准设备 -->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${logPattern}</pattern>
        </encoder>
    </appender>
    
    <!-- 输出error级别以上日志 -->
    <appender name="errorLevelFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>error</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        
        <File>${logPath}/error.log</File>
        
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logPath}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxHistory>90</maxHistory>
              <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>50MB</maxFileSize>
              </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
      
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${logPattern}</pattern>
        </encoder>
    </appender>
    
    <!-- 输出其它级别的日志 -->
    <appender name="otherLevelFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>error</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        
        <File>${logPath}/${appName}.log</File>
        
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logPath}/${appName}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxHistory>30</maxHistory>
              <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>50MB</maxFileSize>
              </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
      
        <encoder>
            <charset>UTF-8</charset>
            <pattern>${logPattern}</pattern>
        </encoder>
    </appender>
    
    <!-- 根日志 -->
    <root level="info">
        <!-- 输出错误日志到文件 -->
        <appender-ref ref="errorLevelFile"/>
        <!-- 输出非错误日志到文件,生产环境应将其关闭 -->
        <appender-ref ref="otherLevelFile"/>
        <!-- 输出所有日志到标准设备,生产环境应将其关闭 -->
        <!-- <appender-ref ref="stdout"/> -->
    </root>
</configuration>