feat: 2.6.0:

1、JobTaskMessage日志批量新增
This commit is contained in:
zhengweilin 2024-01-03 19:21:00 +08:00
parent c3079590ef
commit 105076d033
6 changed files with 45 additions and 18 deletions

View File

@ -34,7 +34,7 @@ public class EasyRetryLog4j2Appender extends AbstractAppender {
if (Objects.isNull(ThreadLocalLogUtil.getContext())) {
return;
}
LogContentDTO logContentDTO = new LogContentDTO();
logContentDTO.addTimeStamp(event.getTimeMillis());
logContentDTO.addLevelField(event.getLevel().name());

View File

@ -6,6 +6,8 @@ import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @author wodeyangzipingpingwuqi
@ -32,6 +34,11 @@ public class LogContentDTO {
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) {
this.addField(LogFieldConstant.LEVEL, level);
}

View File

@ -12,8 +12,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Objects;
/**
@ -77,12 +75,12 @@ public class AsyncReportLog implements Lifecycle, Report {
JobContext context = ThreadLocalLogUtil.getContext();
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.setGroupName(context.getGroupName());
logTaskDTO.setJobId(context.getJobId());
logTaskDTO.setTaskBatchId(context.getTaskBatchId());
logTaskDTO.setTaskId(context.getTaskId());
logTaskDTO.setFieldList(logContentDTO.getFieldList());
return logTaskDTO;
}

View File

@ -4,6 +4,8 @@ import com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* <p>
* 调度日志 Mapper 接口
@ -15,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface JobLogMessageMapper extends BaseMapper<JobLogMessage> {
int batchInsert(List<JobLogMessage> list);
}

View File

@ -4,14 +4,35 @@
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage">
<id column="id" property="id" />
<result column="group_name" property="groupName" />
<result column="job_id" property="jobId" />
<result column="task_id" property="taskId" />
<result column="client_address" property="clientAddress"/>
<result column="task_batch_id" property="taskBatchId" />
<result column="create_dt" property="createDt" />
<result column="message" property="message" />
<id column="id" property="id"/>
<result column="namespace_id" property="namespaceId"/>
<result column="group_name" property="groupName"/>
<result column="job_id" property="jobId"/>
<result column="task_batch_id" property="taskBatchId"/>
<result column="task_id" property="taskId"/>
<result column="log_num" property="logNum"/>
<result column="message" property="message"/>
<result column="create_dt" property="createDt"/>
<result column="real_time" property="realTime"/>
</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>

View File

@ -87,9 +87,7 @@ public class ReportLogHttpRequestHandler extends PostHttpRequestHandler {
}
// 批量新增日志数据
for (JobLogMessage jobLogMessage : jobLogMessageList) {
jobLogMessageMapper.insert(jobLogMessage);
}
jobLogMessageMapper.batchInsert(jobLogMessageList);
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()));
}