Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
466b4e86
提交
466b4e86
authored
4月 28, 2017
作者:
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
任务日志取出slf4j依赖
上级
7102a9f8
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
66 行增加
和
34 行删除
+66
-34
jobinfo.index.ftl
...rc/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl
+2
-4
IJobHandler.java
...e/src/main/java/com/xxl/job/core/handler/IJobHandler.java
+0
-15
GlueJobHandler.java
...in/java/com/xxl/job/core/handler/impl/GlueJobHandler.java
+2
-4
XxlJobLogger.java
...core/src/main/java/com/xxl/job/core/log/XxlJobLogger.java
+43
-0
JobThread.java
...core/src/main/java/com/xxl/job/core/thread/JobThread.java
+15
-6
DemoJobHandler.java
...m/xxl/job/executor/service/jobhandler/DemoJobHandler.java
+4
-5
没有找到文件。
xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl
浏览文件 @
466b4e86
...
...
@@ -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;
}
...
...
xxl-job-core/src/main/java/com/xxl/job/core/handler/IJobHandler.java
浏览文件 @
466b4e86
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
...
...
xxl-job-core/src/main/java/com/xxl/job/core/handler/impl/GlueJobHandler.java
浏览文件 @
466b4e86
...
...
@@ -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
);
}
...
...
xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobLogger.java
0 → 100644
浏览文件 @
466b4e86
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
);
}
}
xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java
浏览文件 @
466b4e86
...
...
@@ -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
);
}
}
...
...
xxl-job-executor-example/src/main/java/com/xxl/job/executor/service/jobhandler/DemoJobHandler.java
浏览文件 @
466b4e86
...
...
@@ -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
{
sup
er
.
log
(
"XXL-JOB, Hello World."
);
XxlJobLogg
er
.
log
(
"XXL-JOB, Hello World."
);
for
(
int
i
=
0
;
i
<
5
;
i
++)
{
sup
er
.
log
(
"beat at:"
+
i
);
XxlJobLogg
er
.
log
(
"beat at:"
+
i
);
TimeUnit
.
SECONDS
.
sleep
(
2
);
}
return
ReturnT
.
SUCCESS
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论