ソースを参照

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

xuxueli 7 年 前
コミット
1aac34165c

+ 1 - 0
doc/XXL-JOB官方文档.md ファイルの表示

@@ -1217,6 +1217,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
1217 1217
 - 12、脚本任务异常Log输出优化;
1218 1218
 - 13、任务线程停止变量修饰符优化;
1219 1219
 - 14、脚本任务Log文件流关闭优化;
1220
+- 15、任务报表成功、失败和进行中统计问题修复;
1220 1221
 
1221 1222
 
1222 1223
 ### 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 {
56 56
 									continue;
57 57
 								}
58 58
 								if (IJobHandler.SUCCESS.getCode() == log.getTriggerCode() && log.getHandleCode() == 0) {
59
+									// job running
59 60
 									JobFailMonitorHelper.monitor(jobLogId);
60 61
 									logger.info(">>>>>>>>>>> job monitor, job running, JobLogId:{}", jobLogId);
61 62
 								} else if (IJobHandler.SUCCESS.getCode() == log.getHandleCode()) {
62 63
 									// job success, pass
63 64
 									logger.info(">>>>>>>>>>> job monitor, job success, JobLogId:{}", jobLogId);
64
-								} else if (IJobHandler.FAIL.getCode() == log.getTriggerCode()
65
+								} else /*if (IJobHandler.FAIL.getCode() == log.getTriggerCode()
65 66
 										|| IJobHandler.FAIL.getCode() == log.getHandleCode()
66
-										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() ) {
67
+										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() )*/ {
67 68
 									// job fail,
68 69
 									failAlarm(log);
69 70
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
70
-								} else {
71
+								}/* else {
71 72
 									JobFailMonitorHelper.monitor(jobLogId);
72 73
 									logger.info(">>>>>>>>>>> job monitor, job status unknown, JobLogId:{}", jobLogId);
73
-								}
74
+								}*/
74 75
 							}
75 76
 						}
76 77
 

+ 1 - 1
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml ファイルの表示

@@ -172,7 +172,7 @@
172 172
 		SELECT
173 173
 			DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
174 174
 			COUNT(handle_code) triggerDayCount,
175
-			SUM(CASE WHEN handle_code = 0 then 1 else 0 end) as triggerDayCountRunning,
175
+			SUM(CASE WHEN (trigger_code = 200 and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
176 176
 			SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
177 177
 		FROM XXL_JOB_QRTZ_TRIGGER_LOG
178 178
 		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 @@
1 1
 package com.xxl.job.core.log;
2 2
 
3
-import org.slf4j.Logger;
4
-import org.slf4j.LoggerFactory;
5
-
6 3
 import java.io.PrintWriter;
7 4
 import java.io.StringWriter;
8
-import java.text.MessageFormat;
9 5
 import java.text.SimpleDateFormat;
10 6
 import java.util.Date;
11 7
 
8
+import org.slf4j.Logger;
9
+import org.slf4j.LoggerFactory;
10
+import org.slf4j.helpers.FormattingTuple;
11
+import org.slf4j.helpers.MessageFormatter;
12
+
12 13
 /**
13 14
  * Created by xuxueli on 17/4/28.
14 15
  */
@@ -54,12 +55,15 @@ public class XxlJobLogger {
54 55
      */
55 56
     public static void log(String appendLogPattern, Object ... appendLogArguments) {
56 57
 
57
-        String appendLog = appendLogPattern;
58
-        if (appendLogArguments!=null && appendLogArguments.length>0) {
59
-            appendLog = MessageFormat.format(appendLogPattern, appendLogArguments);
60
-        }
61
-
58
+    	FormattingTuple ft = MessageFormatter.format(appendLogPattern, appendLogArguments);
59
+        
60
+        String appendLog = ft.getMessage();
62 61
         StackTraceElement callInfo = new Throwable().getStackTrace()[1];
62
+        
63
+//        appendLog = appendLogPattern;
64
+//        if (appendLogArguments!=null && appendLogArguments.length>0) {
65
+//            appendLog = MessageFormat.format(appendLogPattern, appendLogArguments);
66
+//        }
63 67
         logDetail(callInfo, appendLog);
64 68
     }
65 69