docs/platforms/mac/logging.md
The macOS app logs through swift-log (unified logging by default) and can also write a rotating local file log for durable capture (DiagnosticsFileLog).
~/Library/Logs/OpenClaw/diagnostics.jsonl..1....5 (oldest dropped).Treat the file as sensitive; do not share it without review.
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 subsystem name. Only new log entries pick up the flag, so enable it before reproducing an issue. Background: macOS logging privacy shenanigans.
ai.openclaw)Write the plist to a temp file first, then install it atomically as 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
No reboot required; logd picks up the file quickly, but only new log lines include private payloads. View the richer output with ./scripts/clawlog.sh --category WebChat --last 5m (--last/-l sets the time range, default 5m; --category/-c filters by category).
sudo rm /Library/Preferences/Logging/Subsystems/ai.openclaw.plist.sudo log config --reload to force logd to drop the override immediately.