macOS 日誌調試指南:別再讓關鍵資訊變成 <private>
開發最怕遇到那種「明明有報錯,日誌卻一片空白」的情況。尤其是在 macOS 上,系統為了保護隱私,預設會把很多關鍵的 payload 遮蔽掉,讓你只看到一堆 <private>。這篇會教你如何調整 OpenClaw 的設定,讓調試不再靠通靈。
需要準備的東西
Section titled “需要準備的東西”- OpenClaw macOS App
- 終端機 (Terminal) 操作權限
- 管理員權限 (sudo)
如果你需要持久化的日誌記錄,可以開啟滾動診斷功能:
- 進入 Debug pane → Logs → App logging。
- 調整 Verbosity 等級。
- 勾選 “Write rolling diagnostics log (JSONL)”。
- 日誌檔案會儲存在:
~/Library/Logs/OpenClaw/diagnostics.jsonl。
當檔案過大時,系統會自動滾動日誌(舊檔案會加上 .1, .2 等後綴)。你可以隨時點擊 “Clear” 來清理。
解鎖 Unified Logging 私密數據
Section titled “解鎖 Unified Logging 私密數據”macOS 的 Unified logging 預設會遮蔽大部分內容,除非 subsystem 主動選擇關閉隱私保護。你可以透過在 /Library/Preferences/Logging/Subsystems/ 建立一個 plist 檔案來解決這個問題。
為 OpenClaw (bot.molt) 開啟權限
Section titled “為 OpenClaw (bot.molt) 開啟權限”請將以下指令貼進你的終端機:
cat <<'EOF' >/tmp/bot.molt.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>EOFsudo install -m 644 -o root -g wheel /tmp/bot.molt.plist /Library/Preferences/Logging/Subsystems/bot.molt.plist設定好後不需要重啟電腦,logd 會很快偵測到檔案。接著你可以使用現有的 helper 工具來查看更完整的輸出,例如:
./scripts/clawlog.sh --category WebChat --last 5m
- 看不到舊日誌的私密數據? 這是正常的。只有在安裝 plist 之後產生的「新日誌」才會包含私密 payload。請在重現問題前先完成設定。
- 安全性疑慮?
這些日誌可能包含電話號碼或訊息內容。調試結束後,建議執行以下指令移除設定:
sudo rm /Library/Preferences/Logging/Subsystems/bot.molt.plist並執行sudo log config --reload讓設定立即失效。
想要自動化你的調試流程?試試 AI Setup Assistant。
- 了解如何自定義
clawlog.sh過濾器 - 探索 OpenClaw 核心架構文件
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。