2021SC@SDUSC
DolphinScheduler任务日志打印功能分析(1)
任务日志打印在调度系统中是一个比较重要的功能,下面简单分析一下
AbstractTask类
所有的任务都会继承AbstractTask类,这个抽象类中的logger字段比较重要,其实也就是一个org.slf4j.Logger对象。
也就是说所有的任务都是通过slf4j打印日志的。
创建这个logger字段,通过LoggerFactory.getLogger获取,名字是由流程定义ID、流程实例ID、任务ID拼接成的
Logger taskLogger = LoggerFactory.getLogger(LoggerUtils.buildTaskId(LoggerUtils.TASK_LOGGER_INFO_PREFIX,
taskInstance.getProcessDefine().getId(),
taskInstance.getProcessInstance().getId(),
taskInstance.getId()));
public static String buildTaskId(String affix,
int processDefId,
int processInstId,
int taskId){
// - [taskAppId=TASK_79_4084_15210]
return String.format(" -