Skip to Content
👋 Willkommen bei HowToUseOpenClaw Schnellstart
GatewayLogging

Logging

Für eine nutzerorientierte Übersicht (CLI + Control-UI + Konfiguration) siehe Protokollierung. OpenClaw hat zwei Log-„Oberflächen“:

  • Konsolenausgabe (was Sie im Terminal / in der Debug-UI sehen).
  • Datei-Logs (JSON-Zeilen), geschrieben vom Gateway-Logger.

Dateibasierter Logger

  • Standard-Rolling-Logdatei liegt unter /tmp/openclaw/ (eine Datei pro Tag): openclaw-YYYY-MM-DD.log
    • Datum nutzt die lokale Zeitzone des Gateway-Hosts.
  • Logdateipfad und -level sind über ~/.clawdbot/openclaw.json konfigurierbar:
    • logging.file
    • logging.level

Das Dateiformat ist ein JSON-Objekt pro Zeile. Der Control-UI-Tab „Logs“ folgt dieser Datei über den Gateway (logs.tail). Die CLI kann dasselbe:

openclaw logs --follow

Verbose vs. Log-Level

  • Datei-Logs werden ausschließlich von logging.level gesteuert.
  • --verbose betrifft nur die Konsolen-Ausführlichkeit (und den WS-Log-Stil); es erhöht nicht das Datei-Log-Level.
  • Um nur-verbose-Details in Datei-Logs zu erfassen, logging.level auf debug oder trace setzen.

Konsolen-Erfassung

Die CLI fängt console.log/info/warn/error/debug/trace ab und schreibt sie in die Datei-Logs, druckt aber weiter auf stdout/stderr. Die Konsolen-Ausführlichkeit kann unabhängig gesteuert werden über:

  • logging.consoleLevel (Standard info)
  • logging.consoleStyle (pretty | compact | json)

Tool-Zusammenfassungs-Redaktion

Ausführliche Tool-Zusammenfassungen (z. B. 🛠️ Exec: ...) können sensible Tokens maskieren, bevor sie in den Konsolen-Stream gelangen. Das betrifft nur Tools und ändert Datei-Logs nicht.

  • logging.redactSensitive: off | tools (Standard: tools)
  • logging.redactPatterns: Array von Regex-Strings (überschreibt Defaults)
    • Rohe Regex-Strings verwenden (automatisch gi) oder /pattern/flags bei eigenen Flags.
    • Treffer werden maskiert, indem die ersten 6 + letzten 4 Zeichen erhalten bleiben (Länge >= 18), sonst ***.
    • Defaults decken gängige Key-Zuweisungen, CLI-Flags, JSON-Felder, Bearer-Header, PEM-Blöcke und gängige Token-Präfixe ab.

Gateway-WebSocket-Logs

Der Gateway schreibt WebSocket-Protokoll-Logs in zwei Modi:

  • Normaler Modus (ohne --verbose): nur „interessante“ RPC-Ergebnisse werden ausgegeben:
    • Fehler (ok=false)
    • langsame Aufrufe (Standard-Schwelle: >= 50ms)
    • Parse-Fehler
  • Verbose-Modus (--verbose): gesamter WS-Anfrage-/Antwort-Verkehr wird ausgegeben.

WS-Log-Stil

openclaw gateway unterstützt einen pro-Gateway-Stil-Schalter:

  • --ws-log auto (Standard): Normalmodus ist optimiert; Verbose-Modus nutzt kompakte Ausgabe
  • --ws-log compact: kompakte Ausgabe (gepaarte Anfrage/Antwort) bei Verbose
  • --ws-log full: vollständige Pro-Frame-Ausgabe bei Verbose
  • --compact: Alias für --ws-log compact

Beispiele:

# optimiert (nur Fehler/langsam) openclaw gateway # gesamter WS-Verkehr (gepaart) openclaw gateway --verbose --ws-log compact # gesamter WS-Verkehr (volle Meta) openclaw gateway --verbose --ws-log full

Konsolen-Formatierung (Subsystem-Logging)

Der Konsolen-Formatierer ist TTY-aware und druckt einheitliche, mit Präfix versehene Zeilen. Subsystem-Logger halten die Ausgabe gruppiert und scanbar. Verhalten:

  • Subsystem-Präfixe auf jeder Zeile (z. B. [gateway], [canvas], [tailscale])
  • Subsystem-Farben (stabil pro Subsystem) plus Level-Färbung
  • Farbe, wenn die Ausgabe ein TTY ist oder die Umgebung wie ein Rich-Terminal aussieht (TERM/COLORTERM/TERM_PROGRAM), respektiert NO_COLOR
  • Verkürzte Subsystem-Präfixe: lässt führendes gateway/ + channels/ weg, behält die letzten 2 Segmente (z. B. whatsapp/outbound)
  • Sub-Logger pro Subsystem (automatischer Präfix + strukturiertes Feld { subsystem })
  • logRaw() für QR/UX-Ausgabe (kein Präfix, keine Formatierung)
  • Konsolen-Stile (z. B. pretty | compact | json)
  • Konsolen-Log-Level getrennt vom Datei-Log-Level (Datei behält volle Details, wenn logging.level auf debug/trace steht)
  • WhatsApp-Nachrichtentexte werden auf debug geloggt (mit --verbose sichtbar)

So bleiben die bestehenden Datei-Logs stabil, während die interaktive Ausgabe scanbar bleibt.

Zuletzt aktualisiert am: