Diagnostics
Diagnose-Flags
Diagnose-Flags ermöglichen es Ihnen, gezielte Debug-Logs zu aktivieren, ohne überall ausführliches Logging einzuschalten. Flags sind opt-in und haben keine Wirkung, sofern ein Subsystem sie nicht prüft.
Funktionsweise
- Flags sind Zeichenfolgen (Groß-/Kleinschreibung wird ignoriert).
- Sie können Flags in der Konfiguration oder über eine Env-Überschreibung aktivieren.
- Wildcards werden unterstützt:
telegram.*entsprichttelegram.http*aktiviert alle Flags
Per Konfiguration aktivieren
{ "diagnostics": { "flags": ["telegram.http"] }}Mehrere Flags:
{ "diagnostics": { "flags": ["telegram.http", "brave.http", "gateway.*"] }}Starten Sie den Gateway neu, nachdem Sie Flags geändert haben.
Env-Überschreibung (einmalig)
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payloadAlle Flags deaktivieren:
OPENCLAW_DIAGNOSTICS=0OPENCLAW_DIAGNOSTICS=0 ist eine Deaktivierungsüberschreibung auf Prozessebene: Sie deaktiviert
Flags aus Env und Konfiguration für diesen Prozess.
Profiling-Flags
Profiler-Flags aktivieren gezielte Timing-Spans, ohne globale Logging-Level zu erhöhen. Sie sind standardmäßig deaktiviert.
Alle durch den Profiler geschützten Spans für einen Gateway-Lauf aktivieren:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway runNur Profiler-Spans für den Antwort-Dispatch aktivieren:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway runNur Profiler-Spans für Start, Tool und Thread des Codex-App-Servers aktivieren:
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway runProfiler-Flags aus der Konfiguration aktivieren:
{ "diagnostics": { "flags": ["reply.profiler", "codex.profiler"] }}Starten Sie den Gateway neu, nachdem Sie Konfigurations-Flags geändert haben. Um ein Profiler-Flag zu deaktivieren,
entfernen Sie es aus diagnostics.flags und starten Sie neu. Um vorübergehend jedes
Diagnose-Flag zu deaktivieren, auch wenn die Konfiguration Profiler-Flags aktiviert, starten Sie den Prozess mit:
OPENCLAW_DIAGNOSTICS=0 openclaw gateway runTimeline-Artefakte
Das Flag timeline schreibt strukturierte Timing-Ereignisse für Start und Laufzeit für
externe QA-Harnesses:
OPENCLAW_DIAGNOSTICS=timeline \OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \openclaw gateway runSie können es auch in der Konfiguration aktivieren:
{ "diagnostics": { "flags": ["timeline"] }}Der Dateipfad der Timeline stammt weiterhin aus
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH. Wenn timeline nur über die
Konfiguration aktiviert ist, werden die frühesten Spans zum Laden der Konfiguration nicht ausgegeben, weil OpenClaw die
Konfiguration noch nicht gelesen hat; nachfolgende Start-Spans verwenden das Konfigurations-Flag.
OPENCLAW_DIAGNOSTICS=1, OPENCLAW_DIAGNOSTICS=all und
OPENCLAW_DIAGNOSTICS=* aktivieren ebenfalls die Timeline, weil sie jedes
Diagnose-Flag aktivieren. Verwenden Sie vorzugsweise timeline, wenn Sie nur das JSONL-Timing-
Artefakt möchten.
Timeline-Datensätze verwenden den Umschlag openclaw.diagnostics.v1. Ereignisse können
Prozess-IDs, Phasennamen, Span-Namen, Dauern, Plugin-IDs, Abhängigkeitsanzahlen,
Event-Loop-Verzögerungsstichproben, Namen von Provider-Operationen, Exit-Status von Kindprozessen
und Namen/Meldungen von Startfehlern enthalten. Behandeln Sie Timeline-Dateien als lokale Diagnose-
Artefakte; prüfen Sie sie, bevor Sie sie außerhalb Ihres Rechners teilen.
Speicherort der Logs
Flags geben Logs in die standardmäßige Diagnose-Logdatei aus. Standardmäßig:
/tmp/openclaw/openclaw-YYYY-MM-DD.logWenn Sie logging.file setzen, verwenden Sie stattdessen diesen Pfad. Logs sind JSONL (ein JSON-Objekt pro Zeile). Redaction gilt weiterhin basierend auf logging.redactSensitive.
Logs extrahieren
Wählen Sie die neueste Logdatei aus:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1Nach Telegram-HTTP-Diagnosen filtern:
rg "telegram http error" /tmp/openclaw/openclaw-*.logNach Brave Search-HTTP-Diagnosen filtern:
rg "brave http" /tmp/openclaw/openclaw-*.logOder während der Reproduktion mitverfolgen:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"Für Remote-Gateways können Sie auch openclaw logs --follow verwenden (siehe /cli/logs).
Hinweise
- Wenn
logging.levelhöher alswarngesetzt ist, können diese Logs unterdrückt werden. Der Standardwertinfoist geeignet. brave.httploggt Anfrage-URLs/Query-Parameter von Brave Search, Antwortstatus/-Timing sowie Cache-Hit/Miss/Write-Ereignisse. API-Schlüssel oder Antwortinhalte werden nicht geloggt, Suchanfragen können jedoch sensibel sein.- Flags können gefahrlos aktiviert bleiben; sie wirken sich nur auf das Logvolumen des jeweiligen Subsystems aus.
- Verwenden Sie /logging, um Log-Ziele, Level und Redaction zu ändern.