2021SC@SDUSC
DolphinScheduler任务日志打印功能分析(2)
接上一篇
logback.xml配置文件
dolphinscheduler-daemon.sh文件中有一个关于日志的配置。
-Dlogging.config=classpath:master_logback.xml

有两个appender,其中TASKLOGFILE有一个比较关键的filter,用来区分workerlogfile这个appender的。两个appender,会通过filter分别筛选出各自的日志进行打印。
这个filter根据日志级别和线程名过滤,符合条件的才能打印到当前appender。其实也就是只打印任务线程的日志。
/**
* Accept or reject based on thread name
* @param event event
* @return FilterReply
*/
@Override
public FilterReply decide(ILoggingEvent event) {
if (event.getThreadName().startsWith(LoggerUtils.TASK_LOGGER_THREAD_NAME) || event.getLevel().isGreaterOrEqual(level)) {
return FilterReply.ACCEPT;
}
return FilterReply.DENY;
}
还配置了Discriminator,它限定了logg

本文详细解析了DolphinScheduler的任务日志打印功能,重点介绍了logback.xml配置文件中的过滤策略,以及LoggerController如何查询和读取日志。LoggerServer作为Socket服务,监听50051端口,处理RPC请求,实现日志的读取和展示。日志流程从任务线程到本地文件,再到前端展示,涉及多个组件的协调工作。
最低0.47元/天 解锁文章
6324

被折叠的 条评论
为什么被折叠?



