Logging
Eine benutzerorientierte Übersicht (CLI + Control UI + Konfiguration) finden Sie unter /logging. OpenClaw hat zwei Log-„Oberflächen“:- Konsolenausgabe (was Sie im Terminal / in der Debug UI sehen).
- Dateilogs (JSON-Zeilen), die vom Gateway-Logger geschrieben werden.
Dateibasierter Logger
- Die standardmäßige rotierende Log-Datei liegt unter
/tmp/openclaw/(eine Datei pro Tag):openclaw-YYYY-MM-DD.log- Das Datum verwendet die lokale Zeitzone des Gateway-Hosts.
- Der Pfad und das Level der Log-Datei können über
~/.openclaw/openclaw.jsonkonfiguriert werden:logging.filelogging.level
logs.tail).
Die CLI kann dasselbe tun:
- Dateilogs werden ausschließlich durch
logging.levelgesteuert. --verbosebeeinflusst nur die Konsolen-Verbosity (und den WS-Log-Stil); es erhöht nicht das Dateilog-Level.- Um Details, die nur im Verbose-Modus sichtbar sind, in Dateilogs zu erfassen, setzen Sie
logging.levelaufdebugodertrace.
Konsolenerfassung
Die CLI erfasstconsole.log/info/warn/error/debug/trace und schreibt sie in Dateilogs,
während sie weiterhin nach stdout/stderr ausgegeben werden.
Sie können die Verbosity der Konsole unabhängig anpassen über:
logging.consoleLevel(Standardinfo)logging.consoleStyle(pretty|compact|json)
Schwärzung von Tool-Zusammenfassungen
Verbose Tool-Zusammenfassungen (z. B.🛠️ Exec: ...) können sensible Tokens maskieren, bevor sie den
Konsolenstream erreichen. Das gilt nur für Tools und verändert keine Dateilogs.
logging.redactSensitive:off|tools(Standard:tools)logging.redactPatterns: Array von Regex-Strings (überschreibt die Standardwerte)- Verwenden Sie rohe Regex-Strings (automatisch
gi) oder/pattern/flags, wenn Sie benutzerdefinierte Flags benötigen. - Treffer werden maskiert, indem die ersten 6 + letzten 4 Zeichen beibehalten werden (Länge >= 18), andernfalls
***. - Die Standardwerte decken häufige Schlüsselzuweisungen, CLI-Flags, JSON-Felder, Bearer-Header, PEM-Blöcke und gängige Token-Präfixe ab.
- Verwenden Sie rohe Regex-Strings (automatisch
Gateway-WebSocket-Logs
Das Gateway gibt WebSocket-Protokolllogs in zwei Modi aus:- Normalmodus (ohne
--verbose): Es werden nur „interessante“ RPC-Ergebnisse ausgegeben:- Fehler (
ok=false) - langsame Aufrufe (Standardschwelle:
>= 50ms) - Parse-Fehler
- Fehler (
- Verbose-Modus (
--verbose): Gibt den gesamten WS-Request-/Response-Verkehr aus.
WS-Log-Stil
openclaw gateway unterstützt eine Stilumschaltung pro Gateway:
--ws-log auto(Standard): Der Normalmodus ist optimiert; der Verbose-Modus verwendet kompakte Ausgabe--ws-log compact: kompakte Ausgabe (gepaarter Request/Response), wenn verbose aktiv ist--ws-log full: vollständige Ausgabe pro Frame, wenn verbose aktiv ist--compact: Alias für--ws-log compact
Konsolenformatierung (Subsystem-Logging)
Der Konsolenformatierer ist TTY-bewusst und gibt konsistente, präfixierte Zeilen aus. Subsystem-Logger halten die Ausgabe gruppiert und gut durchsuchbar. Verhalten:- Subsystem-Präfixe in jeder Zeile (z. B.
[gateway],[canvas],[tailscale]) - Subsystem-Farben (stabil pro Subsystem) plus Farbgebung nach Level
- Farbe, wenn die Ausgabe ein TTY ist oder die Umgebung wie ein erweitertes Terminal aussieht (
TERM/COLORTERM/TERM_PROGRAM), unter Beachtung vonNO_COLOR - Verkürzte Subsystem-Präfixe: führendes
gateway/+channels/wird entfernt, die letzten 2 Segmente bleiben erhalten (z. B.whatsapp/outbound) - Sub-Logger nach Subsystem (automatisches Präfix + strukturiertes Feld
{ subsystem }) logRaw()für QR-/UX-Ausgabe (kein Präfix, keine Formatierung)- Konsolenstile (z. B.
pretty | compact | json) - Konsolen-Log-Level getrennt vom Dateilog-Level (die Datei behält vollständige Details, wenn
logging.levelaufdebug/tracegesetzt ist) - WhatsApp-Nachrichtentexte werden auf
debuggeloggt (verwenden Sie--verbose, um sie zu sehen)