诊断标志(Diagnostics Flags)
诊断标志允许你在不把全局日志都调到 verbose 的情况下,启用定向的调试日志。flags 采用 opt-in:只有当某个子系统显式检查这些标志时,才会生效。
工作原理
- flags 是字符串(大小写不敏感)。
- 你可以在配置中启用 flags,或通过环境变量进行覆盖。
- 支持通配符:
telegram.*匹配telegram.http*启用所有 flags
通过配置启用
json
{
"diagnostics": {
"flags": ["telegram.http"]
}
}多个 flags:
json
{
"diagnostics": {
"flags": ["telegram.http", "gateway.*"]
}
}修改 flags 后需要重启 gateway。
环境变量覆盖(一次性)
bash
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload禁用所有 flags:
bash
OPENCLAW_DIAGNOSTICS=0日志输出位置
flags 产生的日志会写入标准的诊断日志文件。默认路径:
/tmp/openclaw/openclaw-YYYY-MM-DD.log如果设置了 logging.file,则使用该路径。日志格式为 JSONL(每行一个 JSON 对象)。脱敏仍会根据 logging.redactSensitive 生效。
提取日志
选择最新的日志文件:
bash
ls -t /tmp/openclaw/openclaw-*.log | head -n 1筛选 Telegram HTTP 相关诊断日志:
bash
rg "telegram http error" /tmp/openclaw/openclaw-*.log或者在复现问题时实时 tail:
bash
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"对于远程 gateway,你也可以使用 openclaw logs --follow(参见 /cli/logs)。
备注
- 如果
logging.level被设置得高于warn,这些日志可能会被抑制。默认info没问题。 - flags 可以安全地长期启用;它只会影响特定子系统的日志量。
- 通过 /logging 修改日志输出位置、级别与脱敏设置。