Logging
如需以使用者為導向的概覽(CLI + Control UI + 設定),請參閱 /logging。 OpenClaw 有兩個記錄「介面」:- Console output (what you see in the terminal / Debug UI).
- 檔案記錄(JSON lines),由 Gateway 閘道器記錄器寫入。
基於檔案的日誌記錄器
- 預設的輪替記錄檔位於
/tmp/openclaw/之下(每天一個檔案):openclaw-YYYY-MM-DD.log- 日期使用 gateway 主機的本地時區。
- 記錄檔路徑與層級可透過
~/.openclaw/openclaw.json設定:logging.filelogging.level
logs.tail)。
CLI 也可以執行相同操作:
CLI can do the same:
CLI can do the same:
- 檔案記錄僅由
logging.level控制。 --verbose只會影響 主控台的詳細程度(以及 WS 記錄樣式);它不會 提高檔案記錄層級。- 若要在檔案記錄中擷取僅限 verbose 的細節,請將
logging.level設為debug或trace。
Console capture
CLI 會擷取console.log/info/warn/error/debug/trace 並將其寫入檔案記錄,
同時仍然輸出至 stdout/stderr。
You can tune console verbosity independently via:
logging.consoleLevel(預設info)logging.consoleStyle(pretty|compact|json)
工具摘要遮蔽
詳細的工具摘要(例如🛠️ Exec: ...)在輸出到主控台之前可以遮蔽敏感權杖。
console stream. This is tools-only and does not alter file logs.
logging.redactSensitive:off|tools(預設:tools)logging.redactPatterns:正則表達式字串的陣列(會覆蓋預設值)- 使用原始正則字串(自動
gi),或在需要自訂旗標時使用/pattern/flags。 - 比對項會保留前 6 + 後 4 個字元(長度 >= 18)進行遮蔽,否則為
***。 - Defaults cover common key assignments, CLI flags, JSON fields, bearer headers, PEM blocks, and popular token prefixes.
- 使用原始正則字串(自動
Gateway WebSocket 記錄
Gateway 閘道器會以兩種模式輸出 WebSocket 協定記錄:- 一般模式(未啟用
--verbose):只會輸出「有意義」的 RPC 結果:- 錯誤(
ok=false) - 緩慢呼叫(預設門檻:
>= 50ms) - 解析錯誤
- 錯誤(
- Verbose 模式(
--verbose):輸出所有 WS 請求/回應流量。
WS 記錄樣式
openclaw gateway 支援每個 Gateway 閘道器的樣式切換:
--ws-log auto(預設):一般模式最佳化;verbose 模式使用精簡輸出--ws-log compact:在 verbose 時使用精簡輸出(成對的請求/回應)--ws-log full:在 verbose 時使用完整的逐框輸出--compact:--ws-log compact的別名
主控台格式(子系統日誌)
主控台格式化器具備 TTY-aware 功能,並會輸出一致且帶有前綴的行。 Subsystem loggers keep output grouped and scannable. Subsystem loggers keep output grouped and scannable. 行為:- 每行都有 子系統前綴(例如
[gateway]、[canvas]、[tailscale]) - 子系統顏色(每個子系統固定)加上層級著色
- 當輸出為 TTY 或環境看起來像豐富終端機時啟用顏色(
TERM/COLORTERM/TERM_PROGRAM),並遵循NO_COLOR - 縮短的子系統前綴:移除開頭的
gateway/+channels/,保留最後 2 個區段(例如whatsapp/outbound) - 依子系統的子記錄器(自動前綴 + 結構化欄位
{ subsystem }) logRaw()用於 QR/UX 輸出(無前綴、無格式)- 主控台樣式(例如
pretty | compact | json) - 主控台記錄層級 與檔案記錄層級分離(當
logging.level設為debug/trace時,檔案仍保留完整細節) - WhatsApp 訊息本文 會以
debug記錄(使用--verbose來查看)