diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 6a592c5..8915746 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -1208,6 +1208,7 @@ - 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查; - 12、脚本任务异常Log输出优化; - 13、任务线程停止变量修饰符优化; +- 14、脚本任务Log文件流关闭优化; ### TODO LIST diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 6a592c5..8915746 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -1208,6 +1208,7 @@ - 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查; - 12、脚本任务异常Log输出优化; - 13、任务线程停止变量修饰符优化; +- 14、脚本任务Log文件流关闭优化; ### TODO LIST diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java b/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java index 734d50f..72f61bb 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java @@ -60,7 +60,10 @@ // 标准输出:print (null 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); // command @@ -79,6 +82,15 @@ } catch (Exception e) { XxlJobLogger.log(e); return -1; + } finally { + if (fileOutputStream != null) { + try { + fileOutputStream.close(); + } catch (IOException e) { + XxlJobLogger.log(e); + } + + } } }