提交 466b4e86 编写于 作者: X xueli.xue

任务日志取出slf4j依赖

上级 7102a9f8
......@@ -173,9 +173,7 @@
<textarea class="glueSource_java" style="display:none;" >
package com.xxl.job.service.handler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xxl.job.core.log.XxlJobLogger;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
......@@ -184,7 +182,7 @@ public class DemoGlueJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String... params) throws Exception {
logger.info("XXL-JOB, Hello World.");
XxlJobLogger.log("XXL-JOB, Hello World.");
return ReturnT.SUCCESS;
}
......
package com.xxl.job.core.handler;
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
* @author xuxueli 2015-12-19 19:06:38
*/
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
* @param params
......
......@@ -2,15 +2,13 @@ package com.xxl.job.core.handler.impl;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xxl.job.core.log.XxlJobLogger;
/**
* glue job handler
* @author xuxueli 2016-5-19 21:05:45
*/
public class GlueJobHandler extends IJobHandler {
private static Logger logger = LoggerFactory.getLogger(GlueJobHandler.class);
private long glueUpdatetime;
private IJobHandler jobHandler;
......@@ -24,7 +22,7 @@ public class GlueJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String... params) throws Exception {
logger.info("----------- glue.version:{} -----------", glueUpdatetime);
XxlJobLogger.log("----------- glue.version:{} -----------" + glueUpdatetime);
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;
import com.xxl.job.core.biz.model.TriggerParam;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.log.XxlJobFileAppender;
import com.xxl.job.core.log.XxlJobLogger;
import org.eclipse.jetty.util.ConcurrentHashSet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -80,7 +81,7 @@ public class JobThread extends Thread{
String logFileName = XxlJobFileAppender.makeLogFileName(new Date(triggerParam.getLogDateTim()), triggerParam.getLogId());
XxlJobFileAppender.contextHolder.set(logFileName);
logger.info("----------- xxl-job job execute start -----------");
XxlJobLogger.log("----------- xxl-job job execute start -----------");
executeResult = handler.execute(handlerParams);
if (executeResult == null) {
......@@ -88,7 +89,7 @@ public class JobThread extends Thread{
}
} catch (Exception e) {
if (toStop) {
logger.error("<br>----------- xxl-job toStop, stopReason:{}", stopReason);
XxlJobLogger.log("<br>----------- xxl-job toStop, stopReason:" + stopReason);
}
logger.error("JobThread Exception:", e);
StringWriter out = new StringWriter();
......@@ -96,8 +97,9 @@ public class JobThread extends Thread{
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
if (!toStop) {
......@@ -111,9 +113,16 @@ public class JobThread extends Thread{
}
} catch (Exception e) {
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;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHander;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xxl.job.core.log.XxlJobLogger;
import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit;
......@@ -17,20 +16,20 @@ import java.util.concurrent.TimeUnit;
* 1、继承 “IJobHandler” ;
* 2、装配到Spring,例如加 “@Service” 注解;
* 3、加 “@JobHander” 注解,注解value值为新增任务生成的JobKey的值;多个JobKey用逗号分割;
* 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
*
* @author xuxueli 2015-12-19 19:43:36
*/
@JobHander(value="demoJobHandler")
@Service
public class DemoJobHandler extends IJobHandler {
private static transient Logger logger = LoggerFactory.getLogger(DemoJobHandler.class);
@Override
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++) {
super.log("beat at:" + i);
XxlJobLogger.log("beat at:" + i);
TimeUnit.SECONDS.sleep(2);
}
return ReturnT.SUCCESS;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册