feat: 2.6.0:
1、JobTaskMessage日志批量新增
This commit is contained in:
parent
c3079590ef
commit
105076d033
@ -34,7 +34,7 @@ public class EasyRetryLog4j2Appender extends AbstractAppender {
|
|||||||
if (Objects.isNull(ThreadLocalLogUtil.getContext())) {
|
if (Objects.isNull(ThreadLocalLogUtil.getContext())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
LogContentDTO logContentDTO = new LogContentDTO();
|
LogContentDTO logContentDTO = new LogContentDTO();
|
||||||
logContentDTO.addTimeStamp(event.getTimeMillis());
|
logContentDTO.addTimeStamp(event.getTimeMillis());
|
||||||
logContentDTO.addLevelField(event.getLevel().name());
|
logContentDTO.addLevelField(event.getLevel().name());
|
||||||
|
@ -6,6 +6,8 @@ import lombok.Data;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wodeyangzipingpingwuqi
|
* @author wodeyangzipingpingwuqi
|
||||||
@ -32,6 +34,11 @@ public class LogContentDTO {
|
|||||||
this.addField(LogFieldConstant.TIME_STAMP, String.valueOf(timeStamp));
|
this.addField(LogFieldConstant.TIME_STAMP, String.valueOf(timeStamp));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Long getTimeStamp() {
|
||||||
|
return Long.parseLong(fieldList.stream().filter(taskLogFieldDTO -> !Objects.isNull(taskLogFieldDTO.getValue()))
|
||||||
|
.collect(Collectors.toMap(TaskLogFieldDTO::getName, TaskLogFieldDTO::getValue)).get(LogFieldConstant.TIME_STAMP));
|
||||||
|
}
|
||||||
|
|
||||||
public void addLevelField(String level) {
|
public void addLevelField(String level) {
|
||||||
this.addField(LogFieldConstant.LEVEL, level);
|
this.addField(LogFieldConstant.LEVEL, level);
|
||||||
}
|
}
|
||||||
|
@ -12,8 +12,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.ZoneOffset;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,12 +75,12 @@ public class AsyncReportLog implements Lifecycle, Report {
|
|||||||
JobContext context = ThreadLocalLogUtil.getContext();
|
JobContext context = ThreadLocalLogUtil.getContext();
|
||||||
|
|
||||||
LogTaskDTO logTaskDTO = new LogTaskDTO();
|
LogTaskDTO logTaskDTO = new LogTaskDTO();
|
||||||
logTaskDTO.setRealTime(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli());
|
logTaskDTO.setJobId(context.getJobId());
|
||||||
|
logTaskDTO.setTaskId(context.getTaskId());
|
||||||
|
logTaskDTO.setTaskBatchId(context.getTaskBatchId());
|
||||||
|
logTaskDTO.setRealTime(logContentDTO.getTimeStamp());
|
||||||
logTaskDTO.setNamespaceId(context.getNamespaceId());
|
logTaskDTO.setNamespaceId(context.getNamespaceId());
|
||||||
logTaskDTO.setGroupName(context.getGroupName());
|
logTaskDTO.setGroupName(context.getGroupName());
|
||||||
logTaskDTO.setJobId(context.getJobId());
|
|
||||||
logTaskDTO.setTaskBatchId(context.getTaskBatchId());
|
|
||||||
logTaskDTO.setTaskId(context.getTaskId());
|
|
||||||
logTaskDTO.setFieldList(logContentDTO.getFieldList());
|
logTaskDTO.setFieldList(logContentDTO.getFieldList());
|
||||||
return logTaskDTO;
|
return logTaskDTO;
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ import com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 调度日志 Mapper 接口
|
* 调度日志 Mapper 接口
|
||||||
@ -15,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface JobLogMessageMapper extends BaseMapper<JobLogMessage> {
|
public interface JobLogMessageMapper extends BaseMapper<JobLogMessage> {
|
||||||
|
|
||||||
|
int batchInsert(List<JobLogMessage> list);
|
||||||
}
|
}
|
||||||
|
@ -4,14 +4,35 @@
|
|||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 通用查询映射结果 -->
|
||||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage">
|
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage">
|
||||||
<id column="id" property="id" />
|
<id column="id" property="id"/>
|
||||||
<result column="group_name" property="groupName" />
|
<result column="namespace_id" property="namespaceId"/>
|
||||||
<result column="job_id" property="jobId" />
|
<result column="group_name" property="groupName"/>
|
||||||
<result column="task_id" property="taskId" />
|
<result column="job_id" property="jobId"/>
|
||||||
<result column="client_address" property="clientAddress"/>
|
<result column="task_batch_id" property="taskBatchId"/>
|
||||||
<result column="task_batch_id" property="taskBatchId" />
|
<result column="task_id" property="taskId"/>
|
||||||
<result column="create_dt" property="createDt" />
|
<result column="log_num" property="logNum"/>
|
||||||
<result column="message" property="message" />
|
<result column="message" property="message"/>
|
||||||
|
<result column="create_dt" property="createDt"/>
|
||||||
|
<result column="real_time" property="realTime"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 定义批量新增的 SQL 映射 -->
|
||||||
|
<insert id="batchInsert" parameterType="java.util.List">
|
||||||
|
INSERT INTO job_log_message (namespace_id, group_name, job_id, task_batch_id, task_id, log_num, message,
|
||||||
|
create_dt, real_time)
|
||||||
|
VALUES
|
||||||
|
<foreach collection="list" item="item" separator=",">
|
||||||
|
(
|
||||||
|
#{item.namespaceId},
|
||||||
|
#{item.groupName},
|
||||||
|
#{item.jobId},
|
||||||
|
#{item.taskBatchId},
|
||||||
|
#{item.taskId},
|
||||||
|
#{item.logNum},
|
||||||
|
#{item.message},
|
||||||
|
#{item.createDt},
|
||||||
|
#{item.realTime}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -87,9 +87,7 @@ public class ReportLogHttpRequestHandler extends PostHttpRequestHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 批量新增日志数据
|
// 批量新增日志数据
|
||||||
for (JobLogMessage jobLogMessage : jobLogMessageList) {
|
jobLogMessageMapper.batchInsert(jobLogMessageList);
|
||||||
jobLogMessageMapper.insert(jobLogMessage);
|
|
||||||
}
|
|
||||||
LogUtils.info(log, "Begin Handler Log Report Data. <|>{}<|>", logTaskDTOMap);
|
LogUtils.info(log, "Begin Handler Log Report Data. <|>{}<|>", logTaskDTOMap);
|
||||||
return JsonUtil.toJsonString(new NettyResult(StatusEnum.YES.getStatus(), "Batch Log Retry Data Upload Processed Successfully", Boolean.TRUE, retryRequest.getReqId()));
|
return JsonUtil.toJsonString(new NettyResult(StatusEnum.YES.getStatus(), "Batch Log Retry Data Upload Processed Successfully", Boolean.TRUE, retryRequest.getReqId()));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user