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 e44223e..75aa019 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" @@ -1199,7 +1199,7 @@ - 8、Window机器下File.separator不兼容问题修复; - 9、任务日志查询速度优化,百万级别日志量搜索速度提升1000倍; - 10、底层LocalCache组件兼容性优化,支持jdk、jdk10编译部署; -- 11、[迭代中]回调log优化,支持展示在rolling log中,方便排查问题; +- 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查; - 12、脚本任务异常Log输出优化; 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 e44223e..75aa019 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" @@ -1199,7 +1199,7 @@ - 8、Window机器下File.separator不兼容问题修复; - 9、任务日志查询速度优化,百万级别日志量搜索速度提升1000倍; - 10、底层LocalCache组件兼容性优化,支持jdk、jdk10编译部署; -- 11、[迭代中]回调log优化,支持展示在rolling log中,方便排查问题; +- 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查; - 12、脚本任务异常Log输出优化; diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java index 39ec4db..895aaec 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java @@ -9,11 +9,14 @@ private static final long serialVersionUID = 42L; private int logId; + private long logDateTim; + private ReturnT executeResult; public HandleCallbackParam(){} - public HandleCallbackParam(int logId, ReturnT executeResult) { + public HandleCallbackParam(int logId, long logDateTim, ReturnT executeResult) { this.logId = logId; + this.logDateTim = logDateTim; this.executeResult = executeResult; } @@ -25,6 +28,14 @@ this.logId = logId; } + public long getLogDateTim() { + return logDateTim; + } + + public void setLogDateTim(long logDateTim) { + this.logDateTim = logDateTim; + } + public ReturnT getExecuteResult() { return executeResult; } @@ -37,7 +48,9 @@ public String toString() { return "HandleCallbackParam{" + "logId=" + logId + + ", logDateTim=" + logDateTim + ", executeResult=" + executeResult + '}'; } + } 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 e44223e..75aa019 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" @@ -1199,7 +1199,7 @@ - 8、Window机器下File.separator不兼容问题修复; - 9、任务日志查询速度优化,百万级别日志量搜索速度提升1000倍; - 10、底层LocalCache组件兼容性优化,支持jdk、jdk10编译部署; -- 11、[迭代中]回调log优化,支持展示在rolling log中,方便排查问题; +- 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查; - 12、脚本任务异常Log输出优化; diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java index 39ec4db..895aaec 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java @@ -9,11 +9,14 @@ private static final long serialVersionUID = 42L; private int logId; + private long logDateTim; + private ReturnT executeResult; public HandleCallbackParam(){} - public HandleCallbackParam(int logId, ReturnT executeResult) { + public HandleCallbackParam(int logId, long logDateTim, ReturnT executeResult) { this.logId = logId; + this.logDateTim = logDateTim; this.executeResult = executeResult; } @@ -25,6 +28,14 @@ this.logId = logId; } + public long getLogDateTim() { + return logDateTim; + } + + public void setLogDateTim(long logDateTim) { + this.logDateTim = logDateTim; + } + public ReturnT getExecuteResult() { return executeResult; } @@ -37,7 +48,9 @@ public String toString() { return "HandleCallbackParam{" + "logId=" + logId + + ", logDateTim=" + logDateTim + ", executeResult=" + executeResult + '}'; } + } diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java index e6d0396..93b3661 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java @@ -14,7 +14,6 @@ import java.io.PrintWriter; import java.io.StringWriter; -import java.util.Arrays; import java.util.Date; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; @@ -148,11 +147,11 @@ // callback handler info if (!toStop) { // commonm - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), executeResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), executeResult)); } else { // is killed ReturnT stopResult = new ReturnT(ReturnT.FAIL_CODE, stopReason + " [业务运行中,被强制终止]"); - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult)); } } } @@ -164,7 +163,7 @@ if (triggerParam!=null) { // is killed ReturnT stopResult = new ReturnT(ReturnT.FAIL_CODE, stopReason + " [任务尚未执行,在调度队列中被终止]"); - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult)); } } 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 e44223e..75aa019 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" @@ -1199,7 +1199,7 @@ - 8、Window机器下File.separator不兼容问题修复; - 9、任务日志查询速度优化,百万级别日志量搜索速度提升1000倍; - 10、底层LocalCache组件兼容性优化,支持jdk、jdk10编译部署; -- 11、[迭代中]回调log优化,支持展示在rolling log中,方便排查问题; +- 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查; - 12、脚本任务异常Log输出优化; diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java index 39ec4db..895aaec 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java @@ -9,11 +9,14 @@ private static final long serialVersionUID = 42L; private int logId; + private long logDateTim; + private ReturnT executeResult; public HandleCallbackParam(){} - public HandleCallbackParam(int logId, ReturnT executeResult) { + public HandleCallbackParam(int logId, long logDateTim, ReturnT executeResult) { this.logId = logId; + this.logDateTim = logDateTim; this.executeResult = executeResult; } @@ -25,6 +28,14 @@ this.logId = logId; } + public long getLogDateTim() { + return logDateTim; + } + + public void setLogDateTim(long logDateTim) { + this.logDateTim = logDateTim; + } + public ReturnT getExecuteResult() { return executeResult; } @@ -37,7 +48,9 @@ public String toString() { return "HandleCallbackParam{" + "logId=" + logId + + ", logDateTim=" + logDateTim + ", executeResult=" + executeResult + '}'; } + } diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java index e6d0396..93b3661 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java @@ -14,7 +14,6 @@ import java.io.PrintWriter; import java.io.StringWriter; -import java.util.Arrays; import java.util.Date; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; @@ -148,11 +147,11 @@ // callback handler info if (!toStop) { // commonm - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), executeResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), executeResult)); } else { // is killed ReturnT stopResult = new ReturnT(ReturnT.FAIL_CODE, stopReason + " [业务运行中,被强制终止]"); - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult)); } } } @@ -164,7 +163,7 @@ if (triggerParam!=null) { // is killed ReturnT stopResult = new ReturnT(ReturnT.FAIL_CODE, stopReason + " [任务尚未执行,在调度队列中被终止]"); - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult)); } } diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java index 23b56c9..97c3ae4 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java @@ -4,10 +4,13 @@ import com.xxl.job.core.biz.model.HandleCallbackParam; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.executor.XxlJobExecutor; +import com.xxl.job.core.log.XxlJobFileAppender; +import com.xxl.job.core.log.XxlJobLogger; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.concurrent.LinkedBlockingQueue; @@ -108,17 +111,27 @@ try { ReturnT callbackResult = adminBiz.callback(callbackParamList); if (callbackResult!=null && ReturnT.SUCCESS_CODE == callbackResult.getCode()) { - callbackResult = ReturnT.SUCCESS; - logger.info(">>>>>>>>>>> xxl-job callback success, callbackParamList:{}, callbackResult:{}", new Object[]{callbackParamList, callbackResult}); + callbackLog(callbackParamList, "
----------- xxl-job callback success"); break; } else { - logger.info(">>>>>>>>>>> xxl-job callback fail, callbackParamList:{}, callbackResult:{}", new Object[]{callbackParamList, callbackResult}); + callbackLog(callbackParamList, "
----------- xxl-job callback fail, callbackResult:" + callbackResult); } } catch (Exception e) { - logger.error(">>>>>>>>>>> xxl-job callback error, callbackParamList:{}", callbackParamList, e); + callbackLog(callbackParamList, "
----------- xxl-job callback error, errorMsg:" + e.getMessage()); //getInstance().callBackQueue.addAll(callbackParamList); } } } + /** + * callback log + */ + private void callbackLog(List callbackParamList, String logContent){ + for (HandleCallbackParam callbackParam: callbackParamList) { + String logFileName = XxlJobFileAppender.makeLogFileName(new Date(callbackParam.getLogDateTim()), callbackParam.getLogId()); + XxlJobFileAppender.contextHolder.set(logFileName); + XxlJobLogger.log(logContent); + } + } + }