logback-spring.xml
4.24 KB
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
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!-- 保留原有监听器(若无需可删除) -->
<contextListener class="org.jeecg.utils.listener.CustomLogContextListener" />
<!-- 核心:定义日志路径(兼容旧版,用默认值兜底) -->
<property name="LOG_PATH" value="${LOG_PATH:-/mnt/data}" />
<property name="LOG_HOME" value="${LOG_PATH}/logs" />
<!-- 明确应用名称,避免为空 -->
<springProperty name="appName" scope="context" source="spring.application.name" defaultValue="huaheng-wms-core" />
<!-- 控制台输出(兼容旧版,移除高版本特性) -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{50}:%L - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!-- 控制台只输出 WARN+ 级别(避免刷屏) -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>
<!-- 文件输出(核心:移除 <lazy>,用旧版支持的轮转策略) -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 轮转策略:SizeAndTimeBasedRollingPolicy 是旧版支持的双维度轮转 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>${LOG_HOME}/${appName}_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
<MaxHistory>30</MaxHistory> <!-- 保留30天 -->
<maxFileSize>100MB</maxFileSize> <!-- 单个文件100MB -->
<totalSizeCap>10GB</totalSizeCap> <!-- 总大小10GB -->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{50}:%L - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!-- 文件保留 INFO+ 级别 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<!-- 可选:DEBUG 日志单独输出(兼容旧版) -->
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>${LOG_HOME}/${appName}_debug_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
<MaxHistory>7</MaxHistory>
<maxFileSize>50MB</maxFileSize>
<totalSizeCap>500MB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{50}:%L - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>
<!-- JDBC 日志配置(保留原有,优化 additivity) -->
<logger name="jdbc.connection" additivity="false" level="OFF">
<appender-ref ref="FILE" />
</logger>
<logger name="jdbc.resultsettable" additivity="false" level="INFO">
<appender-ref ref="FILE" />
</logger>
<logger name="jdbc.resultset" additivity="false" level="OFF">
<appender-ref ref="FILE" />
</logger>
<logger name="jdbc.audit" additivity="false" level="OFF">
<appender-ref ref="FILE" />
</logger>
<logger name="jdbc.sqlonly" additivity="false" level="OFF">
<appender-ref ref="FILE" />
</logger>
<logger name="jdbc.sqltiming" additivity="false" level="INFO">
<appender-ref ref="FILE" />
</logger>
<!-- 根日志器(兼容旧版写法) -->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<!-- WMS 模块 DEBUG 日志单独输出(按需启用) -->
<logger name="org.jeecg.modules.wms" level="DEBUG" additivity="false">
<appender-ref ref="DEBUG_FILE" />
</logger>
</configuration>