# macOS Logging ## Rolling Diagnostics File Log (Debug Pane) OpenClaw routes macOS app logs through swift-log (unified logging by default) and can write a local, rotating file log to disk when you need a durable capture. - **Verbosity**: Debug pane -> Logs -> App logging -> Verbosity - **Enable**: Debug pane -> Logs -> App logging -> "Write rolling diagnostics log (JSONL)" - **Location**: `~/Library/Logs/OpenClaw/diagnostics.jsonl` (rotates automatically; old files are suffixed with `.1`, `.2`, ...) - **Clear**: Debug pane -> Logs -> App logging -> "Clear" ### Notes - This is **off by default**. Enable only while actively debugging. - Treat the file as sensitive; don't share it without review. ## Unified Logging Private Data on macOS Unified logging redacts most payloads unless a subsystem opts into `privacy -off`. This is controlled by a plist in `/Library/Preferences/Logging/Subsystems/` keyed by the subsystem name. Only new log entries pick up the flag, so enable it before reproducing an issue. ## Enable for OpenClaw (`bot.molt`) Write the plist to a temp file first, then install it atomically as root: ```bash cat <<'EOF' >/tmp/bot.molt.plist DEFAULT-OPTIONS Enable-Private-Data EOF sudo install -m 644 -o root -g wheel /tmp/bot.molt.plist /Library/Preferences/Logging/Subsystems/bot.molt.plist ``` - No reboot is required; logd notices the file quickly, but only new log lines will include private payloads. - View the richer output with the existing helper, e.g. `./scripts/clawlog.sh --category WebChat --last 5m`. ## Disable After Debugging - Remove the override: `sudo rm /Library/Preferences/Logging/Subsystems/bot.molt.plist` - Optionally run `sudo log config --reload` to force logd to drop the override immediately. - Remember this surface can include phone numbers and message bodies; keep the plist in place only while you actively need the extra detail.