日誌(macOS)
滾動診斷檔案日誌(Debug 面板)
OpenClaw 透過 swift-log 傳遞 macOS 應用程式日誌(預設為統一日誌),並可在需要持久記錄時將本機滾動檔案日誌寫入磁碟。
- 詳細程度:Debug pane → Logs → App logging → Verbosity
- 啟用:Debug pane → Logs → App logging → “Write rolling diagnostics log (JSONL)”
- 位置:
~/Library/Logs/OpenClaw/diagnostics.jsonl(自動輪替;舊檔案加上.1、.2等後綴) - 清除:Debug pane → Logs → App logging → “Clear”
說明:
- 此功能預設關閉。僅在主動除錯時啟用。
- 此檔案視為敏感資料;分享前請先檢視內容。
macOS 上的統一日誌私有資料
統一日誌會隱藏多數內容,除非子系統選擇啟用 privacy -off。根據 Peter 關於 macOS 日誌隱私機制(2025)的文章,這由 /Library/Preferences/Logging/Subsystems/ 中以子系統名稱為鍵值的 plist 控制。只有新的日誌項目會套用此旗標,因此請在重現問題前先啟用。
為 OpenClaw(ai.openclaw)啟用
- 先將 plist 寫入暫存檔案,再以 root 身分原子性安裝:
cat <<'EOF' >/tmp/ai.openclaw.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DEFAULT-OPTIONS</key>
<dict>
<key>Enable-Private-Data</key>
<true/>
</dict>
</dict>
</plist>
EOF
sudo install -m 644 -o root -g wheel /tmp/ai.openclaw.plist /Library/Preferences/Logging/Subsystems/ai.openclaw.plist
- 不需要重新開機;logd 會很快偵測到該檔案,但只有新的日誌行才會包含私有資料。
- 使用現有的輔助工具查看更豐富的輸出,例如
./scripts/clawlog.sh --category WebChat --last 5m。
除錯完畢後停用
- 移除覆蓋:
sudo rm /Library/Preferences/Logging/Subsystems/ai.openclaw.plist。 - 可選擇執行
sudo log config --reload強制 logd 立即移除覆蓋。 - 請記住此介面可能包含電話號碼和訊息內容;僅在需要額外細節時保留此 plist。