查看运行日志
运行日志记录应用后端的执行过程。出现行为流执行失败、数据未按预期更新或接口调用异常时,可以先选择对应的日志分类,再使用时间、日志等级、字段或 traceId 缩小范围。
进入运行日志
可以从以下入口打开运行日志:
- 在项目详情页点击运行日志。
- 在编辑器右上角点击日志图标。
日志按项目版本保留:
| 项目版本 | 保存周期 |
|---|---|
| 免费版 | 1 天 |
| 高级版 | 7 天 |
| 专业版 | 30 天 |
排查问题时,应先确认问题发生时间仍在日志保存周期内。
选择日志分类
先根据问题发生的位置选择分类,可以减少无关结果:
| 分类 | 记录内容 | 适合排查 |
|---|---|---|
| 行为流 | 行为流及各节点的执行过程 | 节点输入、输出、执行顺序和错误 |
| 数据库操作 | 数据库新增、修改和删除操作,以及操作来源和内容 | 数据为何被新增、修改或删除 |
| AI | AI 智能体的运行过程,包括模型和消息信息 | AI 智能体调用和对话问题 |
| API | API 请求的 Header、Body 等信息 | 第三方 API 调用问题 |
| 触发器 | 触发器的触发时间、类型等信息 | 行为流是否被预期的触发器启动 |
| 网关 | 前端发往后端的请求,以及通过 Webhook 接收的请求 | 请求是否到达后端及请求内容 |
| 部署与发布 | 同步变更和发布的相关记录 | 后端配置是否成功更新 |
| GraphQL | 后端收到的 GraphQL 请求 | 数据查询或修改请求问题 |
行为流日志
行为流中的每个节点通常会生成节点开始和节点结束两条日志。在“运行代码”节点中调用 context.log() 也会生成日志。
查看行为流日志字段和节点类型
节点日志包含以下常用字段:
| 字段 | 说明 |
|---|---|
traceId | 关联同一次请求产生的日志 |
nodeType | 节点类型 |
nodeName | 节点名称 |
version | 行为流版本 |
input | 节点输入及节点可引用的数据 |
output | 节点执行结果 |
startAt | 节点开始时间 |
endAt | 节点结束时间 |
部分常见节点在日志中使用以下类型值:
| 节点 | nodeType |
|---|---|
| 输入 | FLOW_START |
| 获取数据 | QUERY_RECORD |
| 修改数据 | UPDATE_RECORD |
| 添加数据 | INSERT_RECORD |
| 删除数据 | DELETE_RECORD |
| 运行代码 | CUSTOM_CODE |
| 赋予角色 | ADD_ROLE_TO_ACCOUNT |
| 移除角色 | REMOVE_ROLE_FROM_ACCOUNT |
| 变量赋值 | UPDATE_GLOBAL_VARIABLES |
| 分支开始 | BRANCH_SEPARATION |
| 分支结束 | BRANCH_MERGE |
网关日志
- 覆盖范围:前端数据库请求、API、AI 等大部分经过网关的请求。
- 可见内容:网关日志展示发出的请求,不展示请求结果。
- 继续排查:需要检查执行结果时,切换到对应的业务分类并使用相同的
traceId查询。
筛选和查询日志
- 时间和等级:设置问题发生的时间范围,并按日志等级筛选。
- 柱状图:查看日志数量分布;点击时间区间可以快速调整查询范围。
- 日志详情:展开日志后,点击字段值可以将该条件加入查询语句。
- 查询语句:按关键字或字段进一步缩小结果范围。
常用查询方式如下:
| 目的 | 查询语句示例 |
|---|---|
| 搜索包含关键字的日志 | account |
| 按字段精确查询 | requestMethod: POST |
使用 * 模糊匹配文本 | traceId: 20241024* |
| 查询数字范围 | responseSize: [5000 to 10000] |
| 组合多个条件 | account and status: 200 and not requestMethod: GET |
| 查询嵌套字段 | requestBody.query: mutation* |
按完整 traceId 查询 | traceId: "c2ecac0b-cce8-463b-b5d2-7ee7aa8f703020241128114815" |
组合条件时可以使用 and、or 和 not。字段名称和可查询值以日志详情中实际显示的内容为准。
跟踪一次请求
同一次请求产生的多条日志可以使用 traceId 关联起来。
重现问题
记录问题发生的时间和执行入口,并尽量只重现一次,避免产生过多相似日志。
找到第一条相关日志
选择最接近问题的分类,设置较短的时间范围,再根据日志等级、行为流名称、接口或其他已知字段筛选。
复制 traceId
打开日志详情,找到并复制 traceId。
查询关联日志
使用 traceId: "完整值" 查询。需要跨分类检查时,保留该查询条件并切换日志分类。
按时间检查执行过程
依次查看关联日志的输入、输出、状态和错误信息,确定请求在哪一步偏离预期。
⚠️
日志可能包含请求参数、节点输入、接口 Header 或其他业务数据。分享日志截图或完整日志前,请先移除密钥、令牌和用户隐私信息。
需要将日志与浏览器请求、页面状态一起分析时,参阅排查应用问题。
Last updated on