Merge pull request #3850 from benfromchina/master

解决 int 接收 bigint 型 xxl_job_info.id 导致的日志查看报错、Dockerfile 增加环境变量 LOG_HOME 指定日志路径
3.3.0-release
许雪里 2 weeks ago committed by GitHub
commit c90d154374
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3,6 +3,7 @@ FROM openjdk:21-jdk-slim
MAINTAINER xuxueli
ENV LOG_HOME=/data/applogs
ENV PARAMS=""
ENV TZ=PRC
@ -10,4 +11,4 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD target/xxl-job-admin-*.jar /app.jar
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $PARAMS"]
ENTRYPOINT ["sh","-c","java -DLOG_HOME=$LOG_HOME -jar $JAVA_OPTS /app.jar $PARAMS"]

@ -160,6 +160,59 @@ public class JobLogController {
return Response.ofSuccess(pageModel);
}
@RequestMapping("/logDetailPage")
public String logDetailPage(HttpServletRequest request, @RequestParam("id") long id, Model model){
// base check
XxlJobLog jobLog = xxlJobLogMapper.load(id);
if (jobLog == null) {
throw new RuntimeException(I18nUtil.getString("joblog_logid_unvalid"));
}
// valid permission
JobGroupPermissionUtil.validJobGroupPermission(request, jobLog.getJobGroup());
// data
model.addAttribute("triggerCode", jobLog.getTriggerCode());
model.addAttribute("handleCode", jobLog.getHandleCode());
model.addAttribute("logId", jobLog.getId());
return "joblog/joblog.detail";
}
@RequestMapping("/logDetailCat")
@ResponseBody
public Response<LogResult> logDetailCat(@RequestParam("logId") long logId, @RequestParam("fromLineNum") int fromLineNum){
try {
// valid
XxlJobLog jobLog = xxlJobLogMapper.load(logId); // todo, need to improve performance
if (jobLog == null) {
return Response.ofFail(I18nUtil.getString("joblog_logid_unvalid"));
}
// log cat
ExecutorBiz executorBiz = XxlJobAdminBootstrap.getExecutorBiz(jobLog.getExecutorAddress());
Response<LogResult> logResult = executorBiz.log(new LogRequest(jobLog.getTriggerTime().getTime(), logId, fromLineNum));
// is end
if (logResult.getData()!=null && logResult.getData().getFromLineNum() > logResult.getData().getToLineNum()) {
if (jobLog.getHandleCode() > 0) {
logResult.getData().setEnd(true);
}
}
// fix xss
if (logResult.getData()!=null && StringTool.isNotBlank(logResult.getData().getLogContent())) {
String newLogContent = filter(logResult.getData().getLogContent());
logResult.getData().setLogContent(newLogContent);
}
return logResult;
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Response.ofFail(e.getMessage());
}
}
/**
* filter xss tag
*/
@ -191,7 +244,7 @@ public class JobLogController {
@RequestMapping("/logKill")
@ResponseBody
public Response<String> logKill(HttpServletRequest request, @RequestParam("id") int id){
public Response<String> logKill(HttpServletRequest request, @RequestParam("id") long id){
// base check
XxlJobLog log = xxlJobLogMapper.load(id);
XxlJobInfo jobInfo = xxlJobInfoMapper.loadById(log.getJobId());

@ -0,0 +1,12 @@
FROM openjdk:21-jdk-slim
MAINTAINER xuxueli
ENV LOG_HOME=/data/applogs
ENV PARAMS=""
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD target/xxl-job-executor-sample-springboot-ai*.jar /app.jar
ENTRYPOINT ["sh","-c","java -DLOG_HOME=$LOG_HOME -jar $JAVA_OPTS /app.jar $PARAMS"]

@ -1,6 +1,7 @@
FROM openjdk:8-jre-slim
FROM openjdk:21-jdk-slim
MAINTAINER xuxueli
ENV LOG_HOME=/data/applogs
ENV PARAMS=""
ENV TZ=PRC
@ -8,4 +9,4 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD target/xxl-job-executor-sample-springboot-*.jar /app.jar
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $PARAMS"]
ENTRYPOINT ["sh","-c","java -DLOG_HOME=$LOG_HOME -jar $JAVA_OPTS /app.jar $PARAMS"]
Loading…
Cancel
Save