诊断标志

诊断标志

适用范围

在以下情况使用本页:

  • 您需要定向调试日志而不提高全局日志级别
  • 您需要捕获特定子系统的日志以供支持

诊断标志让您能够启用定向调试日志,而无需到处开启详细日志记录。标志是可选的,除非子系统检查它们,否则没有任何效果。

工作原理

  • 标志是字符串(不区分大小写)。
  • 您可以在配置中或通过环境覆盖启用标志。
  • 支持通配符:
    • telegram.* 匹配 telegram.http
    • * 启用所有标志

通过配置启用

{
  "diagnostics": {
    "flags": ["telegram.http"]
  }
}

多个标志:

{
  "diagnostics": {
    "flags": ["telegram.http", "gateway.*"]
  }
}

更改标志后重启 gateway。

环境覆盖(一次性)

CLAWDBOT_DIAGNOSTICS=telegram.http,telegram.payload

禁用所有标志:

CLAWDBOT_DIAGNOSTICS=0

日志位置

标志将日志发送到标准诊断日志文件。默认情况下:

/tmp/clawdbot/clawdbot-YYYY-MM-DD.log

如果您设置了 logging.file,则使用该路径。日志是 JSONL(每行一个 JSON 对象)。根据 logging.redactSensitive 仍然应用编辑。

提取日志

选择最新的日志文件:

ls -t /tmp/clawdbot/clawdbot-*.log | head -n 1

过滤 Telegram HTTP 诊断:

rg "telegram http error" /tmp/clawdbot/clawdbot-*.log

或在重现时跟踪:

tail -f /tmp/clawdbot/clawdbot-$(date +%F).log | rg "telegram http error"

对于远程 gateway,您也可以使用 clawdbot logs --follow(见 /cli/logs)。

注意事项

  • 如果 logging.level 设置高于 warn,这些日志可能会被抑制。默认的 info 就可以了。
  • 标志可以安全地保持启用;它们只影响特定子系统的日志量。
  • 使用 /logging 更改日志目标、级别和编辑。