From 6d393fe68d85c560b7dfb59d28503668f3dffcb1 Mon Sep 17 00:00:00 2001
From: 钟日健 <arsn163@163.com>
Date: Wed, 20 May 2026 22:22:08 +0800
Subject: [PATCH] opt: log prod 配置修改
---
src/main/resources/log/logback-prod.xml | 66 +++++++++++++++++++++++++++------
1 files changed, 54 insertions(+), 12 deletions(-)
diff --git a/src/main/resources/log/logback-prod.xml b/src/main/resources/log/logback-prod.xml
index b782b79..9a9f583 100644
--- a/src/main/resources/log/logback-prod.xml
+++ b/src/main/resources/log/logback-prod.xml
@@ -10,6 +10,7 @@
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
+ <property name="LOG_PATH" value="${LOG_PATH:-/app/logs/${springAppName}}"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
@@ -19,16 +20,48 @@
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
+ <!-- 打印日志级别 -->
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>WARN</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
</appender>
+ <!-- 生成日志文件 DEBUG -->
+ <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+ <!-- 日志文件输出的文件名 -->
+ <FileNamePattern>${LOG_PATH}/debug/%d{yyyy-MM-dd}/debug-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+ <!--最多保留30天-->
+ <maxHistory>7</maxHistory>
+ <!-- 每个日志文件到100mb的时候开始切分,最多保留7天,但最大到20GB,哪怕没到7天也要删除多余的日志 -->
+ <totalSizeCap>10GB</totalSizeCap>
+ <!-- maxFileSize:这是活动文件的大小,默认值是100MB-->
+ <maxFileSize>100MB</maxFileSize>
+ </rollingPolicy>
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
+ </encoder>
+ <!-- 打印日志级别 -->
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>DEBUG</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ </appender>
- <!-- 生成日志文件 -->
+ <!-- 生成日志文件 INFO -->
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件输出的文件名 -->
- <!-- 日志文件输出的文件名 -->
- <FileNamePattern>/home/zhbaw/log/info/info-%d{yyyy-MM-dd}.log</FileNamePattern>
- <maxHistory>3</maxHistory>
+ <FileNamePattern>${LOG_PATH}/info/%d{yyyy-MM-dd}/info-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+ <!--最多保留30天-->
+ <maxHistory>7</maxHistory>
+ <!-- 每个日志文件到30mb的时候开始切分,最多保留7天,但最大到3GB,哪怕没到7天也要删除多余的日志 -->
+ <totalSizeCap>10GB</totalSizeCap>
+ <!-- maxFileSize:这是活动文件的大小,默认值是100MB-->
+ <maxFileSize>30MB</maxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
@@ -41,13 +74,17 @@
</filter>
</appender>
- <!-- 生成日志文件 -->
+ <!-- 生成日志文件 warn 级别 -->
<appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件输出的文件名 -->
- <!-- 日志文件输出的文件名 -->
- <FileNamePattern>/home/zhbaw/log/warn/warn-%d{yyyy-MM-dd}.log</FileNamePattern>
- <maxHistory>7</maxHistory>
+ <FileNamePattern>${LOG_PATH}/warn/%d{yyyy-MM-dd}/warn-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+ <!--最多保留30天-->
+ <maxHistory>30</maxHistory>
+ <!-- 每个日志文件到10mb的时候开始切分,最多保留30天,但最大到1GB,哪怕没到30天也要删除多余的日志 -->
+ <totalSizeCap>1GB</totalSizeCap>
+ <!-- maxFileSize:这是活动文件的大小,默认值是10MB,测试时可改成5KB看效果 -->
+ <maxFileSize>10MB</maxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
@@ -62,10 +99,15 @@
<!-- 生成日志文件 -->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件输出的文件名 -->
- <FileNamePattern>/home/zhbaw/log/error/error-%d{yyyy-MM-dd}.log</FileNamePattern>
+ <FileNamePattern>${LOG_PATH}/error/%d{yyyy-MM-dd}/error-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+ <!--最多保留30天-->
<maxHistory>30</maxHistory>
+ <!-- 每个日志文件到10mb的时候开始切分,最多保留30天,但最大到1GB,哪怕没到30天也要删除多余的日志 -->
+ <totalSizeCap>1GB</totalSizeCap>
+ <!-- maxFileSize:这是活动文件的大小,默认值是10MB,测试时可改成5KB看效果 -->
+ <maxFileSize>10MB</maxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
--
Gitblit v1.9.3