诊断标志
诊断标志让你针对特定子系统开启调试日志,不用把所有地方的详细日志都打开。标志是可选的,只有对应的子系统检查时才生效。
工作原理
- 标志是字符串(不区分大小写)。
- 可以在配置中启用,也可以通过环境变量覆盖。
- 支持通配符:
telegram.*匹配telegram.http*启用所有标志
通过配置启用
{
"diagnostics": {
"flags": ["telegram.http"]
}
}
多个标志:
{
"diagnostics": {
"flags": ["telegram.http", "gateway.*"]
}
}
改完标志后重启 gateway。
环境变量覆盖(临时使用)
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload
禁用所有标志:
OPENCLAW_DIAGNOSTICS=0
日志输出位置
标志产生的日志写入标准诊断日志文件。默认路径:
/tmp/openclaw/openclaw-YYYY-MM-DD.log
如果设了 logging.file,用那个路径。日志是 JSONL 格式(每行一个 JSON 对象)。敏感信息脱敏仍然按 logging.redactSensitive 的配置执行。
提取日志
找到最新的日志文件:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1
筛选 Telegram HTTP 诊断:
rg "telegram http error" /tmp/openclaw/openclaw-*.log
或者一边复现一边 tail:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"
对远程 gateway,也可以用 openclaw logs --follow(见 /cli/logs)。
注意事项
- 如果
logging.level设的比warn高,这些日志可能被抑制。默认info就行。 - 标志可以一直开着不用担心;它们只影响对应子系统的日志量。
- 用 /logging 修改日志目标、级别和脱敏设置。