诊断标志(Diagnostics Flags)
诊断标志让您可以启用针对性的调试日志,而无需在所有地方开启详细日志记录。标志是可选的,除非子系统检查它们,否则不会产生任何影响。
工作原理
- 标志是字符串(不区分大小写)。
- 您可以在配置中启用标志,或通过环境变量覆盖。
- 支持通配符:
- telegram.* 匹配 telegram.http
- * 启用所有标志
通过配置启用
{
"diagnostics": {
"flags": ["telegram.http"]
}
}
多个标志:
{
"diagnostics": {
"flags": ["telegram.http", "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 -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"
对于远程网关,您也可以使用 openclaw logs --follow(参见 CLI logs)。
注意事项
- 如果 logging.level 设置高于 warn,这些日志可能会被抑制。默认的 info 级别是正常的。
- 标志可以安全地保持启用状态;它们只影响特定子系统的日志量。
- 使用 Logging 来更改日志目标、级别和脱敏设置。