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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?xml version="1.0" encoding="UTF-8"?>
<configuration >
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<!-- spring admin配置 -->
<jmxConfigurator/>
<springProperty scope="context" name="appName" source="spring.application.name" defaultValue="dhcc-finance-ms"/>
<!-- 定义日志文件 输入位置 -->
<property name="logDir" value="./logs/${appName}"/>
<!-- 日志最大的历史 60天 -->
<property name="maxHistory" value="60"/>
<property name="maxFileSize" value="100MB"/>
<property name="totalSizeCap" value="20GB"/>
<property name="logPattern" value="[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n"/>
<!--输出到控制台-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${logPattern}</pattern>
</layout>
</appender>
<!-- 标准输出到文件 -->
<appender name="FILELOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<encoder>
<pattern>${logPattern}</pattern>
<!-- 设置字符集 -->
<charset>UTF-8</charset>
</encoder>
<!-- 单个日志文件最多 100MB, 60天的日志周期,最大不能超过20GB -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志输出位置 可相对、和绝对路径 -->
<fileNamePattern>${logDir}/%d{yyyy-MM-dd}/log-%i.log</fileNamePattern>
<!-- 日志文件最大的大小 -->
<maxFileSize>${maxFileSize}</maxFileSize>
<!--日志文件保留天数-->
<maxHistory>${maxHistory}</maxHistory>
<!-- 可选节点,用来指定日志文件的上限大小,例如设置为3GB的话,那么到了这个值,就会删除旧的日志 -->
<totalSizeCap>${totalSizeCap}</totalSizeCap>
</rollingPolicy>
</appender>
<!-- 异常输出到文件 -->
<appender name="FILELOG_ERR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<encoder>
<pattern>${logPattern}</pattern>
<!-- 设置字符集 -->
<charset>UTF-8</charset>
</encoder>
<!-- 单个日志文件最多 100MB, 60天的日志周期,最大不能超过20GB -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志输出位置 可相对、和绝对路径 -->
<fileNamePattern>${logDir}/%d{yyyy-MM-dd}/log-err-%i.log</fileNamePattern>
<!-- 日志文件最大的大小 -->
<maxFileSize>${maxFileSize}</maxFileSize>
<!--日志文件保留天数-->
<maxHistory>${maxHistory}</maxHistory>
<!-- 可选节点,用来指定日志文件的上限大小,例如设置为3GB的话,那么到了这个值,就会删除旧的日志 -->
<totalSizeCap>${totalSizeCap}</totalSizeCap>
</rollingPolicy>
</appender>
<!-- 为logstash输出的JSON格式的Appender-->
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>10.213.120.32:45059</destination>
<!-- 日志输出编码 -->
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<!-- 数据库操作打印 -->
<logger name="com.dhcc.finance.main.dao" level="DEBUG" />
<!-- 项目工程代码日志 -->
<logger name="com.dhcc" additivity="false">
<level value="DEBUG" />
<!-- 控制台输出 -->
<appender-ref ref="CONSOLE" />
<!-- 文件输出 -->
<appender-ref ref="FILELOG" />
<!-- logstash输出 -->
<appender-ref ref="LOGSTASH" />
</logger>
<root level="INFO">
<!-- 控制台输出 -->
<appender-ref ref="CONSOLE" />
<!-- 文件输出 -->
<appender-ref ref="FILELOG" />
<!-- logstash输出 -->
<appender-ref ref="LOGSTASH" />
</root>
<!-- <root level="ERROR">
错误日志到文件
<appender-ref ref="FILELOG_ERR" />
</root> -->
</configuration>