xuxueli 7 years ago
commit cf1768d20e
  1. 1
      doc/XXL-JOB官方文档.md
  2. 26
      xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobFileAppender.java
  3. 14
      xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java

@ -1212,6 +1212,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
- 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查; - 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查;
- 12、脚本任务异常Log输出优化; - 12、脚本任务异常Log输出优化;
- 13、任务线程停止变量修饰符优化; - 13、任务线程停止变量修饰符优化;
- 14、脚本任务Log文件流关闭优化;
### TODO LIST ### TODO LIST

@ -115,23 +115,21 @@ public class XxlJobFileAppender {
appendLog += "\r\n"; appendLog += "\r\n";
// append file content // append file content
FileOutputStream fos = null;
try { try {
FileOutputStream fos = null; fos = new FileOutputStream(logFile, true);
try { fos.write(appendLog.getBytes("utf-8"));
fos = new FileOutputStream(logFile, true); fos.flush();
fos.write(appendLog.getBytes("utf-8"));
fos.flush();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
}
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
} }
} }

@ -60,7 +60,10 @@ public class ScriptUtil {
// 标准输出:print (null if watchdog timeout) // 标准输出:print (null if watchdog timeout)
// 错误输出:logging + 异常 (still exists if watchdog timeout) // 错误输出:logging + 异常 (still exists if watchdog timeout)
// 标准输入 // 标准输入
try (FileOutputStream fileOutputStream = new FileOutputStream(logFile, true)) {
FileOutputStream fileOutputStream = null; //
try {
fileOutputStream = new FileOutputStream(logFile, true);
PumpStreamHandler streamHandler = new PumpStreamHandler(fileOutputStream, fileOutputStream, null); PumpStreamHandler streamHandler = new PumpStreamHandler(fileOutputStream, fileOutputStream, null);
// command // command
@ -79,6 +82,15 @@ public class ScriptUtil {
} catch (Exception e) { } catch (Exception e) {
XxlJobLogger.log(e); XxlJobLogger.log(e);
return -1; return -1;
} finally {
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException e) {
XxlJobLogger.log(e);
}
}
} }
} }

Loading…
Cancel
Save