跳到內容

macOS 日誌調試指南:別再讓關鍵資訊變成 <private>

開發最怕遇到那種「明明有報錯,日誌卻一片空白」的情況。尤其是在 macOS 上,系統為了保護隱私,預設會把很多關鍵的 payload 遮蔽掉,讓你只看到一堆 <private>。這篇會教你如何調整 OpenClaw 的設定,讓調試不再靠通靈。

  • OpenClaw macOS App
  • 終端機 (Terminal) 操作權限
  • 管理員權限 (sudo)

如果你需要持久化的日誌記錄,可以開啟滾動診斷功能:

  1. 進入 Debug pane → Logs → App logging。
  2. 調整 Verbosity 等級。
  3. 勾選 “Write rolling diagnostics log (JSONL)”。
  4. 日誌檔案會儲存在:~/Library/Logs/OpenClaw/diagnostics.jsonl。

當檔案過大時,系統會自動滾動日誌(舊檔案會加上 .1, .2 等後綴)。你可以隨時點擊 “Clear” 來清理。

macOS 的 Unified logging 預設會遮蔽大部分內容,除非 subsystem 主動選擇關閉隱私保護。你可以透過在 /Library/Preferences/Logging/Subsystems/ 建立一個 plist 檔案來解決這個問題。

請將以下指令貼進你的終端機:

Terminal window
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>
EOF
sudo 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

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。