Logging (macOS)

Rolling diagnostics file log (Debug pane)

OpenClaw chuyển log của ứng dụng macOS qua swift-log (mặc định dùng unified logging) và có thể ghi log ra file local với cơ chế tự động xoay vòng khi các bạn cần lưu lại log lâu dài.

  • Verbosity: Debug pane → Logs → App logging → Verbosity
  • Bật: Debug pane → Logs → App logging → “Write rolling diagnostics log (JSONL)”
  • Vị trí: ~/Library/Logs/OpenClaw/diagnostics.jsonl (tự động xoay vòng; file cũ sẽ có đuôi .1, .2, …)
  • Xóa: Debug pane → Logs → App logging → “Clear”

Lưu ý:

  • Tính năng này tắt mặc định. Chỉ bật khi đang debug thôi nhé.
  • File log này chứa thông tin nhạy cảm; đừng share ra ngoài mà không kiểm tra kỹ.

Unified logging private data trên macOS

Unified logging sẽ ẩn hầu hết dữ liệu trừ khi subsystem bật privacy -off. Theo bài viết của Peter về logging privacy shenanigans trên macOS (2025), điều này được điều khiển bởi file plist trong /Library/Preferences/Logging/Subsystems/ với key là tên subsystem. Chỉ các log entry mới mới nhận flag này, nên các bạn phải bật trước khi tái hiện lỗi nhé.

Bật cho OpenClaw (bot.molt)

  • Ghi file plist vào temp file trước, sau đó cài đặt với quyền root:
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
  • Không cần reboot; logd sẽ nhận file này nhanh thôi, nhưng chỉ các dòng log mới mới bao gồm dữ liệu private.
  • Xem output chi tiết hơn với helper có sẵn, ví dụ ./scripts/clawlog.sh --category WebChat --last 5m.

Tắt sau khi debug xong

  • Xóa override: sudo rm /Library/Preferences/Logging/Subsystems/bot.molt.plist.
  • Tùy chọn chạy sudo log config --reload để bắt logd drop override ngay lập tức.
  • Nhớ là log này có thể chứa số điện thoại và nội dung tin nhắn; chỉ giữ file plist này khi các bạn thực sự cần thông tin chi tiết nhé.