logback: FILE-ERROR

This commit is contained in:
RB 2025-09-03 11:22:46 +08:00
parent 31afdc7d05
commit 3caf492db4
6 changed files with 18 additions and 25 deletions

2
@rbv

@ -1 +1 @@
Subproject commit 64bee3bc986073e62a4d3ee6c94bd3d3d4231e1c
Subproject commit 7f4087461a6e70d367852ab6b0bc4df7cc0ac528

View file

@ -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());
}

View file

@ -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 {

View file

@ -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");

View file

@ -35,21 +35,6 @@
<!-- <logger name="org.springframework.jdbc.datasource" level="DEBUG" /> -->
<!-- <logger name="com.deepoove.poi" level="WARN" /> -->
<!-- 4.1 -->
<appender name="FILE-AVATOR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%-20thread] [%reqid] - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOGS_HOME}/rebuild.AVATOR.%d{yyyy-MM-dd}-%i.log</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>180</maxHistory>
</rollingPolicy>
</appender>
<logger name="com.rebuild.rbv.trigger.aviator.LogFunction" level="INFO">
<appender-ref ref="FILE-AVATOR"/>
</logger>
<!-- 4.2 -->
<appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

View file

@ -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