Просмотр исходного кода

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

xuxueli 7 лет назад
Родитель
Сommit
1aac34165c

+ 1 - 0
doc/XXL-JOB官方文档.md Просмотреть файл

1217
 - 12、脚本任务异常Log输出优化;
1217
 - 12、脚本任务异常Log输出优化;
1218
 - 13、任务线程停止变量修饰符优化;
1218
 - 13、任务线程停止变量修饰符优化;
1219
 - 14、脚本任务Log文件流关闭优化;
1219
 - 14、脚本任务Log文件流关闭优化;
1220
+- 15、任务报表成功、失败和进行中统计问题修复;
1220
 
1221
 
1221
 
1222
 
1222
 ### TODO LIST
1223
 ### TODO LIST

+ 5 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java Просмотреть файл

56
 									continue;
56
 									continue;
57
 								}
57
 								}
58
 								if (IJobHandler.SUCCESS.getCode() == log.getTriggerCode() && log.getHandleCode() == 0) {
58
 								if (IJobHandler.SUCCESS.getCode() == log.getTriggerCode() && log.getHandleCode() == 0) {
59
+									// job running
59
 									JobFailMonitorHelper.monitor(jobLogId);
60
 									JobFailMonitorHelper.monitor(jobLogId);
60
 									logger.info(">>>>>>>>>>> job monitor, job running, JobLogId:{}", jobLogId);
61
 									logger.info(">>>>>>>>>>> job monitor, job running, JobLogId:{}", jobLogId);
61
 								} else if (IJobHandler.SUCCESS.getCode() == log.getHandleCode()) {
62
 								} else if (IJobHandler.SUCCESS.getCode() == log.getHandleCode()) {
62
 									// job success, pass
63
 									// job success, pass
63
 									logger.info(">>>>>>>>>>> job monitor, job success, JobLogId:{}", jobLogId);
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
 										|| IJobHandler.FAIL.getCode() == log.getHandleCode()
66
 										|| IJobHandler.FAIL.getCode() == log.getHandleCode()
66
-										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() ) {
67
+										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() )*/ {
67
 									// job fail,
68
 									// job fail,
68
 									failAlarm(log);
69
 									failAlarm(log);
69
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
70
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
70
-								} else {
71
+								}/* else {
71
 									JobFailMonitorHelper.monitor(jobLogId);
72
 									JobFailMonitorHelper.monitor(jobLogId);
72
 									logger.info(">>>>>>>>>>> job monitor, job status unknown, JobLogId:{}", jobLogId);
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
 		SELECT
172
 		SELECT
173
 			DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
173
 			DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
174
 			COUNT(handle_code) triggerDayCount,
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
 			SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
176
 			SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
177
 		FROM XXL_JOB_QRTZ_TRIGGER_LOG
177
 		FROM XXL_JOB_QRTZ_TRIGGER_LOG
178
 		WHERE trigger_time BETWEEN #{from} and #{to}
178
 		WHERE trigger_time BETWEEN #{from} and #{to}

+ 13 - 9
xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobLogger.java Просмотреть файл

1
 package com.xxl.job.core.log;
1
 package com.xxl.job.core.log;
2
 
2
 
3
-import org.slf4j.Logger;
4
-import org.slf4j.LoggerFactory;
5
-
6
 import java.io.PrintWriter;
3
 import java.io.PrintWriter;
7
 import java.io.StringWriter;
4
 import java.io.StringWriter;
8
-import java.text.MessageFormat;
9
 import java.text.SimpleDateFormat;
5
 import java.text.SimpleDateFormat;
10
 import java.util.Date;
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
  * Created by xuxueli on 17/4/28.
14
  * Created by xuxueli on 17/4/28.
14
  */
15
  */
54
      */
55
      */
55
     public static void log(String appendLogPattern, Object ... appendLogArguments) {
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
         StackTraceElement callInfo = new Throwable().getStackTrace()[1];
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
         logDetail(callInfo, appendLog);
67
         logDetail(callInfo, appendLog);
64
     }
68
     }
65
 
69