十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ToolJet Workflows 日志面板完全指南:如何通过 Logs 追踪节点执行状态与调试工作流

ToolJet Workflows 日志面板完全指南:如何通过 Logs 追踪节点执行状态与调试工作流 ToolJet Workflows 日志面板完全指南如何通过 Logs 追踪节点执行状态与调试工作流【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetToolJet Workflows 提供可视化、基于节点的自动化构建能力而日志Logs面板是理解工作流运行时行为的核心窗口它记录每个节点的执行顺序、开始/结束时间、成功或失败状态以及执行过程中产生的详细错误信息。本文基于 ToolJet 开源仓库中的 Workflows 日志文档结合后端执行引擎与前端工作流编辑器的实现完整讲解日志面板的打开方式、信息结构、执行状态解读方法以及它在调试工作流时的实战价值。日志面板是什么工作流执行的运行记录在 ToolJet 的 Workflow Editor 中当你点击画布右上角的Run按钮执行一个工作流时日志面板会自动展开并展示本次执行中每一个节点的执行详情参见 logs.md。它的作用主要有三追踪执行顺序直观呈现工作流从 Start 节点到最终节点的实际执行路径检查节点成败明确标识每个节点是成功执行还是执行失败定位错误详情针对执行过程中发生的错误日志可以展开显示详细消息帮助开发者快速定位问题根因。日志面板的顶部有一个可点击的栏top bar点击它可以展开或最小化面板方便你在编辑画布与查看日志之间灵活切换不会长期遮挡工作流画布的可视区域。日志面板的信息结构从截图看节点执行记录以下截图展示了 ToolJet Workflows 日志面板的典型形态截图源文件logs.png从截图中可以看到日志面板包含两类核心信息1. 节点信息画布侧日志面板通常与工作流画布联动显示画布中从左到右依次呈现本次执行涉及的全部节点例如一个典型的获取数据 → 转换数据 → 写入数据库流程包含Start trigger触发节点工作流执行的起点getTodos获取待办数据的节点如数据库查询或 API 调用transformTodos使用 JavaScript 进行数据转换的节点writeToDatabase将结果写入数据库的节点Result结果节点工作流的终点。2. 日志详情时间线侧日志以时间顺序逐条列出每个节点的执行事件每条日志包含时间戳精确到毫秒的 UTC 时间例如[2023-08-16 10:22:39.720 UTC]节点名称如getTodos、transformTodos、writeToDatabase执行状态消息典型状态包括Started execution开始执行Execution succeeded执行成功Execution failed执行失败例如一次实际执行可能产生如下日志序列[2023-08-16 10:22:39.720 UTC] getTodos: Started execution [2023-08-16 10:22:39.725 UTC] getTodos: Execution failed [2023-08-16 10:22:39.829 UTC] transformTodos: Started execution [2023-08-16 10:22:39.883 UTC] transformTodos: Execution succeeded [2023-08-16 10:22:39.980 UTC] writeToDatabase: Started execution [2023-08-16 10:22:40.030 UTC] writeToDatabase: Execution succeeded通过对比每个节点的Started execution与Execution succeeded/failed之间的时间差你可以精确计算单个节点的耗时通过观察失败节点的位置则可以快速锁定工作流中出问题的环节。从截图可以看出日志中部分节点的时间戳有红色高亮用于突出显示关键执行节点帮助开发者快速定位当前流程中的重要步骤。日志中的三类数据视图Input / Output / Logs日志面板并不仅仅展示成功或失败这样的状态文本。根据 overview.md 中的说明当工作流执行完成后日志面板会提供三个层次的数据视图Input 视图显示进入某个节点的所有传入数据。当你需要确认某个节点收到的数据是否符合预期例如上游查询结果是否正确传递时这一视图最有用Output 视图显示该节点传输给下一个节点的数据。用于验证数据转换节点如 RunJS 节点的输出是否满足下游节点的输入要求Logs 视图显示节点的执行顺序、成功与错误消息也就是我们在上一节看到的以时间戳为前缀的日志流。这三个视图组合在一起构成了一个完整的数据流闭环从 Input 看入口数据、从 Output 看出口数据、从 Logs 看执行过程从而能够对每个节点的行为进行全链路排查。日志的底层数据模型日志从哪来日志面板展示的内容并非临时生成而是由 ToolJet 服务端在工作流执行过程中持久化记录下来的。从后端实体定义可以看出日志的存储结构参见 workflow_execution.entity.tsworkflow_executions表是一次工作流执行的完整记录其中logs字段以 JSON 列Column(json, { name: logs })存储执行日志status字段记录整体执行状态executed布尔字段标记执行是否完成该实体通过一对多关系关联nodesworkflow_execution_nodes与edgesworkflow_execution_edges记录本次执行涉及的所有节点与连线。而单个节点的执行详情则存储在workflow_execution_nodes表中参见 workflow_execution_node.entity.ts每个节点记录包含type节点类型executed该节点是否已执行result节点的执行结果state节点执行时的状态以 JSON 存储idOnWorkflowDefinition节点在工作流定义中的标识用于将执行记录映射回画布上的具体节点definition节点自身的定义快照。因此日志面板中每个节点的名称、开始时间、结束时间、状态消息本质上是对workflow_executions与workflow_execution_nodes两张表数据的可视化呈现。日志的后端接口日志数据如何被读取在服务端日志相关能力由 Workflow Executions 模块提供参见 workflow-executions.controller.ts并受功能权限开关控制。与该能力直接相关的特性键定义在 constants/index.ts 中export enum FEATURE_KEY { // ... WORKFLOW_EXECUTION_STATUS workflow_execution_status, WORKFLOW_EXECUTION_DETAILS workflow_execution_details, LIST_WORKFLOW_EXECUTIONS list_workflow_executions, FETCH_EXECUTION_LOGS fetch_execution_logs, FETCH_EXECUTION_NODES fetch_execution_nodes, // ... }与之对应的 HTTP 接口包括接口特性键说明GET /workflow_executions?appVersionIdpageper_pagefetch_execution_logs分页拉取某应用版本下的执行日志列表GET /workflow_executions/:id/statusworkflow_execution_status查询单次执行的实时状态含日志、节点执行情况GET /workflow_executions/:idworkflow_execution_details获取单次执行的完整详情GET /workflow_executions/all/:appVersionIdlist_workflow_executions列出某应用版本的全部执行记录GET /workflow_executions/:id/nodesfetch_execution_nodes分页拉取单次执行中各节点的结果GET /workflow_executions/:id/streamSSEworkflow_execution_status通过 Server-Sent Events 实时推送执行状态其中状态查询接口返回的数据结构参见 workflow-executions.service.ts明确包含logs、status以及每个节点id、idOnDefinition、executed、result的信息async getStatus(workflowExecutionId: string): Promise{ logs: unknown; status: boolean; nodes: Array{ id: string; idOnDefinition: string; executed: boolean; result: unknown; }; } { // 返回执行日志、整体状态与各节点执行结果 }由此可以推断前端日志面板的渲染链路是执行结果写入workflow_execution_nodes→ 前端通过FETCH_EXECUTION_LOGS/WORKFLOW_EXECUTION_STATUS等接口拉取 → 按节点名称与时间戳渲染为日志列表同时通过 SSE 流/workflow_executions/:id/stream实现执行过程的近实时刷新。在大型或长时间运行的工作流中接口默认的分页参数page 1、per_page 10也保证了日志数据量较大时仍能高效加载。实战如何利用日志面板调试工作流结合日志面板的信息结构推荐以下调试工作流的标准流程执行前确认起点确认画布中存在Start节点它是工作流执行的入口点击 Run 执行点击编辑器右上角的Run按钮日志面板会自动展开按时间线扫描状态从上到下检查每条Started execution/Execution succeeded/Execution failed日志先找出第一条Execution failed记录——它通常是故障链的根源查看 Input / Output 视图对可疑节点切换到Input视图确认入口数据、切换到Output视图确认出口数据判断是数据没到还是数据不对展开错误详情点击失败日志展开详细错误消息结合节点名称与时间戳定位到画布中的具体节点修改节点配置后重新执行验证对照执行耗时通过相邻节点的开始时间差评估各节点耗时识别潜在的性能瓶颈节点。延伸阅读Workflows 概述与首个工作流创建指南包含从数据库查询、RunJS 数据转换到条件判断、响应节点的完整示例Workflow 节点参考各节点类型的详细配置说明Workflow 触发方式了解除手动 Run 之外的其他执行入口Workflow 执行结果理解 Response 节点与执行结果的返回机制Workflow 权限管理了解查看执行日志等功能所需的工作流权限后端执行数据模型workflow_execution.entity.ts、workflow_execution_node.entity.ts日志读取接口workflow-executions.controller.ts。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表