診斷旗標

診斷旗標讓你啟用針對性的除錯日誌,而不需要全域開啟詳細記錄。旗標採主動啟用制,除非子系統有檢查,否則不會有任何影響。

運作方式

  • 旗標是字串(不分大小寫)。
  • 可以在設定中或透過環境變數覆寫來啟用。
  • 支援萬用字元:
    • 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 -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"

若為遠端 Gateway,也可以使用 openclaw logs --follow(參閱 /cli/logs)。

注意事項

  • 如果 logging.level 設定高於 warn,這些日誌可能會被抑制。預設的 info 層級就可以。
  • 旗標可以安心保持啟用;它們只影響特定子系統的日誌量。
  • 使用 /logging 來變更日誌目的地、層級和遮蔽設定。