Logging (macOS)

Log de diagnóstico rotativo (panel Debug)

OpenClaw enruta los logs de la app macOS a través de swift-log (unified logging por defecto) y puede escribir un log rotativo local en disco cuando necesitas una captura durable.

  • Verbosidad: Panel Debug → Logs → App logging → Verbosity
  • Habilitar: Panel Debug → Logs → App logging → “Write rolling diagnostics log (JSONL)”
  • Ubicación: ~/Library/Logs/OpenClaw/diagnostics.jsonl (rota automáticamente; los archivos antiguos se sufijan con .1, .2, …)
  • Limpiar: Panel Debug → Logs → App logging → “Clear”

Notas:

  • Está deshabilitado por defecto. Habilítalo solo mientras estés depurando activamente.
  • Trata el archivo como sensible; no lo compartas sin revisarlo.

Datos privados en el unified logging de macOS

El unified logging redacta la mayoría de los payloads a menos que un subsistema opte por privacy -off. Según el artículo de Peter sobre los problemas de privacidad del logging (2025) en macOS, esto se controla con un plist en /Library/Preferences/Logging/Subsystems/ con clave por nombre del subsistema. Solo las nuevas entradas de log recogen el flag, así que habilítalo antes de reproducir un problema.

Habilitar para OpenClaw (ai.openclaw)

  • Escribe el plist en un archivo temporal primero, luego instálalo atómicamente como 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 se requiere reinicio; logd detecta el archivo rápidamente, pero solo las nuevas líneas de log incluirán los payloads privados.
  • Visualiza la salida enriquecida con el helper existente, p. ej. ./scripts/clawlog.sh --category WebChat --last 5m.

Deshabilitar después de depurar

  • Elimina el override: sudo rm /Library/Preferences/Logging/Subsystems/ai.openclaw.plist.
  • Opcionalmente ejecuta sudo log config --reload para forzar a logd a descartar el override inmediatamente.
  • Recuerda que esta superficie puede incluir números de teléfono y cuerpos de mensajes; mantén el plist activo solo mientras necesites activamente el detalle extra.