From 48a28c79c0dc1203cb71147dcff0b4d4bf7bc8d0 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Tue, 04 Nov 2025 13:18:27 +0800
Subject: [PATCH] 修改

---
 src/main/resources/config/log4j2-spring.xml |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/config/log4j2-spring.xml b/src/main/resources/config/log4j2-spring.xml
new file mode 100644
index 0000000..4e92c00
--- /dev/null
+++ b/src/main/resources/config/log4j2-spring.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN" monitorInterval="30">
+    <!-- 变量定义(对应原Logback的property) -->
+    <Properties>
+        <!-- 应用名称(从Spring环境变量获取,默认值同原配置) -->
+        <Property name="APP_NAME">${spring:spring.application.name:-fourierSpecialGasMonitor}</Property>
+        <!-- 日志格式 -->
+        <Property name="log.pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Property>
+        <!-- 日志路径 -->
+        <Property name="log.path">./logs</Property>
+    </Properties>
+
+    <!-- 输出源配置(对应原Logback的appender) -->
+    <Appenders>
+        <!-- 控制台输出 -->
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
+        </Console>
+
+        <!-- 主日志文件(INFO及以上级别,滚动策略) -->
+        <RollingFile name="FILE_MAIN" fileName="${log.path}/${APP_NAME}.log"
+                     filePattern="${log.path}/${APP_NAME}-%d{yyyy-MM-dd}-%i.log">
+            <PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
+            <!-- 滚动策略(大小+时间) -->
+            <Policies>
+                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
+                <SizeBasedTriggeringPolicy size="100MB"/>
+            </Policies>
+            <!-- 保留策略 -->
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${log.path}" maxDepth="1">
+                    <IfFileName glob="${APP_NAME}-*.log"/>
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!-- SQL日志文件(DEBUG级别,滚动策略) -->
+        <RollingFile name="FILE_SQL" fileName="${log.path}/${APP_NAME}-sql.log"
+                     filePattern="${log.path}/${APP_NAME}-sql-%d{yyyy-MM-dd}-%i.log">
+            <PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
+            <Policies>
+                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
+                <SizeBasedTriggeringPolicy size="50MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="7">
+                <Delete basePath="${log.path}" maxDepth="1">
+                    <IfFileName glob="${APP_NAME}-sql-*.log"/>
+                    <IfLastModified age="7d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!-- 错误日志文件(仅ERROR级别) -->
+        <RollingFile name="FILE_ERROR" fileName="${log.path}/${APP_NAME}-error.log"
+                     filePattern="${log.path}/${APP_NAME}-error-%d{yyyy-MM-dd}-%i.log">
+            <PatternLayout pattern="${log.pattern}" charset="UTF-8"/>
+            <!-- 仅接受ERROR级别 -->
+            <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
+            <Policies>
+                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
+                <SizeBasedTriggeringPolicy size="50MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="90">
+                <Delete basePath="${log.path}" maxDepth="1">
+                    <IfFileName glob="${APP_NAME}-error-*.log"/>
+                    <IfLastModified age="90d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+    </Appenders>
+
+    <!-- 日志器配置(对应原Logback的logger和root) -->
+    <Loggers>
+        <!-- Hibernate SQL日志(仅输出到SQL文件) -->
+        <Logger name="org.hibernate.SQL" level="DEBUG" additivity="false">
+            <AppenderRef ref="FILE_SQL"/>
+            <!-- 若需在控制台显示SQL,添加此行:<AppenderRef ref="CONSOLE"/> -->
+        </Logger>
+
+        <!-- 其他框架日志级别控制 -->
+        <Logger name="org.springframework" level="INFO" additivity="false">
+            <AppenderRef ref="CONSOLE"/>
+            <AppenderRef ref="FILE_MAIN"/>
+            <AppenderRef ref="FILE_ERROR"/>
+        </Logger>
+        <Logger name="org.hibernate" level="INFO" additivity="false">
+            <AppenderRef ref="CONSOLE"/>
+            <AppenderRef ref="FILE_MAIN"/>
+            <AppenderRef ref="FILE_ERROR"/>
+        </Logger>
+
+        <!-- 自定义包日志级别(开发环境DEBUG) -->
+        <Logger name="org.com.gkhy" level="DEBUG" additivity="false">
+            <AppenderRef ref="CONSOLE"/>
+            <AppenderRef ref="FILE_MAIN"/>
+            <AppenderRef ref="FILE_ERROR"/>
+        </Logger>
+
+        <!-- 根日志(默认INFO级别) -->
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE"/>
+            <AppenderRef ref="FILE_MAIN"/>
+            <AppenderRef ref="FILE_ERROR"/>
+        </Root>
+    </Loggers>
+</Configuration>

--
Gitblit v1.9.2