诊断标志
诊断标志让您可以启用定向调试日志,而无需在任何地方打开详细日志。标志是可选的,除非子系统检查它们,否则不会产生任何效果?
工作原理
- 标志是字符串(不区分大小写)?
- 您可以在配置中启用标志或通过环境变量覆盖?
- 支持通配符:
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 更改日志目标、级别和脱敏?