Skip to content

日志与排障

排障时先用日志定位问题域,再按最小链路验证。不要同时修改多个外部服务配置,否则很难判断是哪一项修复了问题。

排障顺序

日志字段

日志条目应包含:

字段含义
event事件名
group所属领域
method动作或方法
status结果
durationMs耗时,可能为 null
noise是否为噪声日志

不适用的字符串字段使用 not_applicabledurationMs: null 表示不适用,不应显示为耗时 0。

日志视图

日志视图默认隐藏静态资源、前端和日志查看器自身请求。排查资源加载问题时,可以显式包含噪声日志。

详情抽屉应展示结构化字段,但不展示请求体。token、secret、password、hash、session 和 key 等字段应被脱敏。

按症状排查

页面打不开

  1. docker compose ps 检查容器。
  2. 检查端口映射和反向代理。
  3. 查看 app 启动日志。
  4. 确认 PUBLIC_BASE_URL 和 HTTPS 配置。

登录失败

  1. 确认管理员是否已初始化。
  2. 检查 JWT_SECRET_KEY 是否稳定。
  3. 检查浏览器来源是否被 CORS 允许。
  4. 查看认证相关日志。

AI 不可用

  1. 检查 API key 和 Base URL。
  2. 检查代理和网络出口。
  3. 检查模型名和账号权限。
  4. 用简单测试会议验证。

消息不采集

  1. 检查订阅是否启用。
  2. 检查来源地址或频道权限。
  3. 检查 listener 是否运行。
  4. 查看上次采集错误。

消息不触发会议

  1. 确认消息已入库。
  2. 检查过滤状态。
  3. 检查过滤决策是否为 meeting
  4. 检查订阅团队绑定和会议队列。

会议卡住

  1. 检查会议状态。
  2. 如果是 queued,看 worker 和 Redis。
  3. 如果是 running,看 AI、工具调用和事件流。
  4. 修复配置后再重启会议。

行情为空

  1. 检查标的代码。
  2. 检查行情提供方和网络。
  3. 检查是否被限流。
  4. 对单个标的执行最小查询。

模拟交易异常

  1. 检查账户是否启用。
  2. 检查风险配置是否绑定。
  3. 检查标的行情。
  4. 查看订单拒绝原因。

日志等级约定

  • 预期空操作、保护分支或重复抑制路径使用 level=infostatus=skipped
  • level=error 只用于需要兜底、重试、操作员处理或调用方可见错误处理的失败。

故障记录模板

md
## 故障摘要

- 时间:
- 影响范围:
- 现象:
- 根因:
- 处理:
- 验证:
- 后续动作:

相关页面

TradingCopilot 不提供投资建议,所有内容仅用于研究、测试和学习。