提交 466b4e86 authored 作者: xueli.xue's avatar xueli.xue

任务日志取出slf4j依赖

上级 7102a9f8
...@@ -173,9 +173,7 @@ ...@@ -173,9 +173,7 @@
<textarea class="glueSource_java" style="display:none;" > <textarea class="glueSource_java" style="display:none;" >
package com.xxl.job.service.handler; package com.xxl.job.service.handler;
import org.slf4j.Logger; import com.xxl.job.core.log.XxlJobLogger;
import org.slf4j.LoggerFactory;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.IJobHandler;
...@@ -184,7 +182,7 @@ public class DemoGlueJobHandler extends IJobHandler { ...@@ -184,7 +182,7 @@ public class DemoGlueJobHandler extends IJobHandler {
@Override @Override
public ReturnT<String> execute(String... params) throws Exception { public ReturnT<String> execute(String... params) throws Exception {
logger.info("XXL-JOB, Hello World."); XxlJobLogger.log("XXL-JOB, Hello World.");
return ReturnT.SUCCESS; return ReturnT.SUCCESS;
} }
......
package com.xxl.job.core.handler; package com.xxl.job.core.handler;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.log.XxlJobFileAppender;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* remote job handler * remote job handler
* @author xuxueli 2015-12-19 19:06:38 * @author xuxueli 2015-12-19 19:06:38
*/ */
public abstract class IJobHandler { public abstract class IJobHandler {
private static Logger logger = LoggerFactory.getLogger(IJobHandler.class);
/**
* append log
*
* @param appendLog
*/
public void log(String appendLog) {
String logFileName = XxlJobFileAppender.contextHolder.get();
XxlJobFileAppender.appendLog(logFileName, appendLog);
logger.info("xxl-job log [{}]: {}", logFileName, appendLog);
}
/** /**
* job handler * job handler
* @param params * @param params
......
...@@ -2,15 +2,13 @@ package com.xxl.job.core.handler.impl; ...@@ -2,15 +2,13 @@ package com.xxl.job.core.handler.impl;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.IJobHandler;
import org.slf4j.Logger; import com.xxl.job.core.log.XxlJobLogger;
import org.slf4j.LoggerFactory;
/** /**
* glue job handler * glue job handler
* @author xuxueli 2016-5-19 21:05:45 * @author xuxueli 2016-5-19 21:05:45
*/ */
public class GlueJobHandler extends IJobHandler { public class GlueJobHandler extends IJobHandler {
private static Logger logger = LoggerFactory.getLogger(GlueJobHandler.class);
private long glueUpdatetime; private long glueUpdatetime;
private IJobHandler jobHandler; private IJobHandler jobHandler;
...@@ -24,7 +22,7 @@ public class GlueJobHandler extends IJobHandler { ...@@ -24,7 +22,7 @@ public class GlueJobHandler extends IJobHandler {
@Override @Override
public ReturnT<String> execute(String... params) throws Exception { public ReturnT<String> execute(String... params) throws Exception {
logger.info("----------- glue.version:{} -----------", glueUpdatetime); XxlJobLogger.log("----------- glue.version:{} -----------" + glueUpdatetime);
return jobHandler.execute(params); return jobHandler.execute(params);
} }
......
package com.xxl.job.core.log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Created by xuxueli on 17/4/28.
*/
public class XxlJobLogger {
private static Logger logger = LoggerFactory.getLogger("xxl-job logger");
private static SimpleDateFormat xxlJobLoggerFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* append log
*
* @param appendLog
*/
public static void log(String appendLog) {
// "yyyy-MM-dd HH:mm:ss [ClassName]-[MethodName]-[LineNumber]-[ThreadName] log";
StackTraceElement[] stackTraceElements = new Throwable().getStackTrace();
StackTraceElement callInfo = stackTraceElements[1];
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(xxlJobLoggerFormat.format(new Date())).append(" ")
.append("["+ callInfo.getClassName() +"]").append("-")
.append("["+ callInfo.getMethodName() +"]").append("-")
.append("["+ callInfo.getLineNumber() +"]").append("-")
.append("["+ Thread.currentThread().getName() +"]").append(" ")
.append(appendLog!=null?appendLog:"");
String formatAppendLog = stringBuffer.toString();
// appendlog
String logFileName = XxlJobFileAppender.contextHolder.get();
XxlJobFileAppender.appendLog(logFileName, formatAppendLog);
logger.warn("[{}]: {}", logFileName, formatAppendLog);
}
}
...@@ -5,6 +5,7 @@ import com.xxl.job.core.biz.model.ReturnT; ...@@ -5,6 +5,7 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam; import com.xxl.job.core.biz.model.TriggerParam;
import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.log.XxlJobFileAppender; import com.xxl.job.core.log.XxlJobFileAppender;
import com.xxl.job.core.log.XxlJobLogger;
import org.eclipse.jetty.util.ConcurrentHashSet; import org.eclipse.jetty.util.ConcurrentHashSet;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -80,7 +81,7 @@ public class JobThread extends Thread{ ...@@ -80,7 +81,7 @@ public class JobThread extends Thread{
String logFileName = XxlJobFileAppender.makeLogFileName(new Date(triggerParam.getLogDateTim()), triggerParam.getLogId()); String logFileName = XxlJobFileAppender.makeLogFileName(new Date(triggerParam.getLogDateTim()), triggerParam.getLogId());
XxlJobFileAppender.contextHolder.set(logFileName); XxlJobFileAppender.contextHolder.set(logFileName);
logger.info("----------- xxl-job job execute start -----------"); XxlJobLogger.log("----------- xxl-job job execute start -----------");
executeResult = handler.execute(handlerParams); executeResult = handler.execute(handlerParams);
if (executeResult == null) { if (executeResult == null) {
...@@ -88,7 +89,7 @@ public class JobThread extends Thread{ ...@@ -88,7 +89,7 @@ public class JobThread extends Thread{
} }
} catch (Exception e) { } catch (Exception e) {
if (toStop) { if (toStop) {
logger.error("<br>----------- xxl-job toStop, stopReason:{}", stopReason); XxlJobLogger.log("<br>----------- xxl-job toStop, stopReason:" + stopReason);
} }
logger.error("JobThread Exception:", e); logger.error("JobThread Exception:", e);
StringWriter out = new StringWriter(); StringWriter out = new StringWriter();
...@@ -96,8 +97,9 @@ public class JobThread extends Thread{ ...@@ -96,8 +97,9 @@ public class JobThread extends Thread{
executeResult = new ReturnT<String>(ReturnT.FAIL_CODE, out.toString()); executeResult = new ReturnT<String>(ReturnT.FAIL_CODE, out.toString());
} }
logger.info("----------- xxl-job job execute end ----------- <br> Look : ExecutorParams:{}, Code:{}, Msg:{}",
new Object[]{handlerParams, executeResult.getCode(), executeResult.getMsg()}); XxlJobLogger.log("----------- xxl-job job execute end ----------- <br> " +
"Look : ExecutorParams:"+ handlerParams +", Code:"+ executeResult.getCode() +", Msg:" + executeResult.getMsg());
// callback handler info // callback handler info
if (!toStop) { if (!toStop) {
...@@ -111,9 +113,16 @@ public class JobThread extends Thread{ ...@@ -111,9 +113,16 @@ public class JobThread extends Thread{
} }
} catch (Exception e) { } catch (Exception e) {
if (toStop) { if (toStop) {
logger.error("<br>----------- xxl-job toStop, stopReason:{}", stopReason); XxlJobLogger.log("<br>----------- xxl-job toStop, stopReason:" + stopReason);
} }
logger.error("----------- xxl-job JobThread Exception:", e);
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter, true);
e.printStackTrace(printWriter);
printWriter.flush();
stringWriter.flush();
String errorMsg = stringWriter.toString();
XxlJobLogger.log("----------- xxl-job JobThread Exception:" + errorMsg);
} }
} }
......
...@@ -3,8 +3,7 @@ package com.xxl.job.executor.service.jobhandler; ...@@ -3,8 +3,7 @@ package com.xxl.job.executor.service.jobhandler;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHander; import com.xxl.job.core.handler.annotation.JobHander;
import org.slf4j.Logger; import com.xxl.job.core.log.XxlJobLogger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -17,20 +16,20 @@ import java.util.concurrent.TimeUnit; ...@@ -17,20 +16,20 @@ import java.util.concurrent.TimeUnit;
* 1、继承 “IJobHandler” ; * 1、继承 “IJobHandler” ;
* 2、装配到Spring,例如加 “@Service” 注解; * 2、装配到Spring,例如加 “@Service” 注解;
* 3、加 “@JobHander” 注解,注解value值为新增任务生成的JobKey的值;多个JobKey用逗号分割; * 3、加 “@JobHander” 注解,注解value值为新增任务生成的JobKey的值;多个JobKey用逗号分割;
* 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
* *
* @author xuxueli 2015-12-19 19:43:36 * @author xuxueli 2015-12-19 19:43:36
*/ */
@JobHander(value="demoJobHandler") @JobHander(value="demoJobHandler")
@Service @Service
public class DemoJobHandler extends IJobHandler { public class DemoJobHandler extends IJobHandler {
private static transient Logger logger = LoggerFactory.getLogger(DemoJobHandler.class);
@Override @Override
public ReturnT<String> execute(String... params) throws Exception { public ReturnT<String> execute(String... params) throws Exception {
super.log("XXL-JOB, Hello World."); XxlJobLogger.log("XXL-JOB, Hello World.");
for (int i = 0; i < 5; i++) { for (int i = 0; i < 5; i++) {
super.log("beat at:" + i); XxlJobLogger.log("beat at:" + i);
TimeUnit.SECONDS.sleep(2); TimeUnit.SECONDS.sleep(2);
} }
return ReturnT.SUCCESS; return ReturnT.SUCCESS;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论