诊断标志

诊断标志让您可以启用定向调试日志,而无需在任何地方打开详细日志。标志是可选的,除非子系统检查它们,否则不会产生任何效果?

工作原理

  • 标志是字符串(不区分大小写)?
  • 您可以在配置中启用标志或通过环境变量覆盖?
  • 支持通配符:
    • 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 更改日志目标、级别和脱敏?