refactor(log):优化日志读取逻辑并修复潜在问题

- 使用 StringBuilder 替代 StringBuffer 提升性能- 采用 StandardCharsets.UTF_8 确保字符编码一致性
-优化行号判断逻辑,提升代码可读性- 移除冗余注释和无用代码片段-修复日志文件读取时的行数跳过逻辑
- 简化 LogResult 构造逻辑,移除不必要的注释块
pull/72/head
xuxueli 2 months ago
parent 47b341bd75
commit 36a27f7a01

@ -160,7 +160,7 @@ public class XxlJobHelper {
// appendlog
String logFileName = xxlJobContext.getJobLogFileName();
if (logFileName!=null && logFileName.trim().length()>0) {
if (logFileName!=null && !logFileName.trim().isEmpty()) {
XxlJobFileAppender.appendLog(logFileName, formatAppendLog);
return true;
} else {

@ -84,17 +84,16 @@ public class XxlJobFileAppender {
/**
* append log
*
* @param logFileName
* @param appendLog
* @param logFileName log file name
* @param appendLog append log
*/
public static void appendLog(String logFileName, String appendLog) {
// log file
if (logFileName==null || logFileName.trim().length()==0) {
if (logFileName==null || logFileName.trim().isEmpty()) {
return;
}
File logFile = new File(logFileName);
if (!logFile.exists()) {
try {
logFile.createNewFile();
@ -111,29 +110,20 @@ public class XxlJobFileAppender {
appendLog += "\r\n";
// append file content
FileOutputStream fos = null;
try {
fos = new FileOutputStream(logFile, true);
fos.write(appendLog.getBytes("utf-8"));
fos.flush();
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
}
try (FileOutputStream fos = new FileOutputStream(logFile, true)) {
fos.write(appendLog.getBytes(StandardCharsets.UTF_8));
fos.flush();
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}
/**
* support read log-file
*
* @param logFileName
* @param logFileName log file name
* @param fromLineNum from line num
* @return log content
*/
public static LogResult readLog(String logFileName, int fromLineNum){

Loading…
Cancel
Save