From 3caf492db4514048df0568eceb9c8a38b9a9138b Mon Sep 17 00:00:00 2001
From: RB <42044143+getrebuild@users.noreply.github.com>
Date: Wed, 3 Sep 2025 11:22:46 +0800
Subject: [PATCH] logback: FILE-ERROR
---
@rbv | 2 +-
.../rebuild/core/support/SysbaseHeartbeat.java | 11 +++++++++--
.../com/rebuild/core/support/SysbaseSupport.java | 2 +-
.../rebuild/web/admin/AdminVerfiyController.java | 8 +++++---
src/main/resources/logback.xml | 15 ---------------
.../rebuild/core/support/SysbaseSupportTest.java | 5 ++---
6 files changed, 18 insertions(+), 25 deletions(-)
diff --git a/@rbv b/@rbv
index 64bee3bc9..7f4087461 160000
--- a/@rbv
+++ b/@rbv
@@ -1 +1 @@
-Subproject commit 64bee3bc986073e62a4d3ee6c94bd3d3d4231e1c
+Subproject commit 7f4087461a6e70d367852ab6b0bc4df7cc0ac528
diff --git a/src/main/java/com/rebuild/core/support/SysbaseHeartbeat.java b/src/main/java/com/rebuild/core/support/SysbaseHeartbeat.java
index a8b8dc226..abd30a258 100644
--- a/src/main/java/com/rebuild/core/support/SysbaseHeartbeat.java
+++ b/src/main/java/com/rebuild/core/support/SysbaseHeartbeat.java
@@ -166,11 +166,18 @@ public class SysbaseHeartbeat {
/**
* 获取最新的日志文件
*
+ * @param isError 如获取不到则降级获取
* @return
*/
- public static File getLastLogbackFile() {
+ public static File getLastLogbackFile(boolean isError) {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
- Logger lg = lc.getLogger("ROOT");
+ Logger lg = lc.getLogger(isError ? "com.rebuild" : "ROOT");
+
+ if (isError) {
+ FileAppender> fa = (FileAppender>) lg.getAppender("FILE-ERROR");
+ if (fa != null && fa.getFile() != null) return new File(fa.getFile());
+ }
+
FileAppender> fa = (FileAppender>) lg.getAppender("FILE");
return new File(fa.getFile());
}
diff --git a/src/main/java/com/rebuild/core/support/SysbaseSupport.java b/src/main/java/com/rebuild/core/support/SysbaseSupport.java
index 47bb2ab50..39c6a1d8f 100644
--- a/src/main/java/com/rebuild/core/support/SysbaseSupport.java
+++ b/src/main/java/com/rebuild/core/support/SysbaseSupport.java
@@ -57,7 +57,7 @@ public class SysbaseSupport {
vmLog.append(System.getProperties());
log.warn(vmLog.append("----------").toString());
- File logFile = SysbaseHeartbeat.getLastLogbackFile();
+ File logFile = SysbaseHeartbeat.getLastLogbackFile(false);
JSONObject resJson;
try {
diff --git a/src/main/java/com/rebuild/web/admin/AdminVerfiyController.java b/src/main/java/com/rebuild/web/admin/AdminVerfiyController.java
index 343bbbbfc..039462c8e 100644
--- a/src/main/java/com/rebuild/web/admin/AdminVerfiyController.java
+++ b/src/main/java/com/rebuild/web/admin/AdminVerfiyController.java
@@ -127,14 +127,16 @@ public class AdminVerfiyController extends BaseController {
final String type = getParameter(request, "type", "log");
// 日志
- if ("log".equalsIgnoreCase(type)) {
- File logFile = SysbaseHeartbeat.getLastLogbackFile();
+ if ("log".equalsIgnoreCase(type) || "error".equalsIgnoreCase(type)) {
+ File logFile = SysbaseHeartbeat.getLastLogbackFile("error".equalsIgnoreCase(type));
+
+ ServletUtils.setContentType(response, ServletUtils.CT_PLAIN);
FileDownloader.setDownloadHeaders(response, logFile.getName(), true);
FileDownloader.writeLocalFile(logFile, response);
return;
}
// 数据库
- if ("database".equalsIgnoreCase(type)) {
+ if ("database".equalsIgnoreCase(type) || "db".equalsIgnoreCase(type)) {
File path = RebuildConfiguration.getFileOfData("");
path = new File(path, "_backups");
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index 67a4ce076..8c02315e5 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -35,21 +35,6 @@
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%-20thread] [%reqid] - %msg%n
-
-
- ${LOGS_HOME}/rebuild.AVATOR.%d{yyyy-MM-dd}-%i.log
- 100MB
- 180
-
-
-
-
-
-
diff --git a/src/test/java/com/rebuild/core/support/SysbaseSupportTest.java b/src/test/java/com/rebuild/core/support/SysbaseSupportTest.java
index 47571595f..0a8aa1711 100644
--- a/src/test/java/com/rebuild/core/support/SysbaseSupportTest.java
+++ b/src/test/java/com/rebuild/core/support/SysbaseSupportTest.java
@@ -26,9 +26,8 @@ class SysbaseSupportTest {
void getLogbackFile() throws IOException {
log.info("SysbaseSupportTest#getLogbackFile");
- File file = SysbaseHeartbeat.getLastLogbackFile();
- System.out.println(file + " >> " + file.exists());
- System.out.println(FileUtils.readFileToString(file, AppUtils.UTF8));
+ File file = SysbaseHeartbeat.getLastLogbackFile(false);
+ System.out.println(file + " >>\n" + FileUtils.readFileToString(file, AppUtils.UTF8));
}
@Test