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