Browse Source

修复打印有参日志时报错的问题

xuxueli 7 năm trước cách đây
mục cha
commit
1aac34165c

+ 1 - 0
doc/XXL-JOB官方文档.md

@@ -1217,6 +1217,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 12、脚本任务异常Log输出优化;
 - 13、任务线程停止变量修饰符优化;
 - 14、脚本任务Log文件流关闭优化;
+- 15、任务报表成功、失败和进行中统计问题修复;
 
 
 ### TODO LIST

+ 5 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java

@@ -56,21 +56,22 @@ public class JobFailMonitorHelper {
 									continue;
 								}
 								if (IJobHandler.SUCCESS.getCode() == log.getTriggerCode() && log.getHandleCode() == 0) {
+									// job running
 									JobFailMonitorHelper.monitor(jobLogId);
 									logger.info(">>>>>>>>>>> job monitor, job running, JobLogId:{}", jobLogId);
 								} else if (IJobHandler.SUCCESS.getCode() == log.getHandleCode()) {
 									// job success, pass
 									logger.info(">>>>>>>>>>> job monitor, job success, JobLogId:{}", jobLogId);
-								} else if (IJobHandler.FAIL.getCode() == log.getTriggerCode()
+								} else /*if (IJobHandler.FAIL.getCode() == log.getTriggerCode()
 										|| IJobHandler.FAIL.getCode() == log.getHandleCode()
-										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() ) {
+										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() )*/ {
 									// job fail,
 									failAlarm(log);
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
-								} else {
+								}/* else {
 									JobFailMonitorHelper.monitor(jobLogId);
 									logger.info(">>>>>>>>>>> job monitor, job status unknown, JobLogId:{}", jobLogId);
-								}
+								}*/
 							}
 						}
 

+ 1 - 1
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml

@@ -172,7 +172,7 @@
 		SELECT
 			DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
 			COUNT(handle_code) triggerDayCount,
-			SUM(CASE WHEN handle_code = 0 then 1 else 0 end) as triggerDayCountRunning,
+			SUM(CASE WHEN (trigger_code = 200 and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
 			SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
 		FROM XXL_JOB_QRTZ_TRIGGER_LOG
 		WHERE trigger_time BETWEEN #{from} and #{to}

+ 13 - 9
xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobLogger.java

@@ -1,14 +1,15 @@
 package com.xxl.job.core.log;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.PrintWriter;
 import java.io.StringWriter;
-import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.helpers.FormattingTuple;
+import org.slf4j.helpers.MessageFormatter;
+
 /**
  * Created by xuxueli on 17/4/28.
  */
@@ -54,12 +55,15 @@ public class XxlJobLogger {
      */
     public static void log(String appendLogPattern, Object ... appendLogArguments) {
 
-        String appendLog = appendLogPattern;
-        if (appendLogArguments!=null && appendLogArguments.length>0) {
-            appendLog = MessageFormat.format(appendLogPattern, appendLogArguments);
-        }
-
+    	FormattingTuple ft = MessageFormatter.format(appendLogPattern, appendLogArguments);
+        
+        String appendLog = ft.getMessage();
         StackTraceElement callInfo = new Throwable().getStackTrace()[1];
+        
+//        appendLog = appendLogPattern;
+//        if (appendLogArguments!=null && appendLogArguments.length>0) {
+//            appendLog = MessageFormat.format(appendLogPattern, appendLogArguments);
+//        }
         logDetail(callInfo, appendLog);
     }