Przejdź do głównej treści

Flagi diagnostyczne

Flagi diagnostyczne pozwalają włączyć ukierunkowane logi debugowania bez włączania verbose logowania wszędzie. Flagi są opcjonalne i nie mają żadnego efektu, dopóki jakiś podsystem ich nie sprawdza.

Jak to działa

  • Flagi są ciągami znaków (bez rozróżniania wielkości liter).
  • Flagi można włączyć w config lub przez nadpisanie zmienną środowiskową.
  • Obsługiwane są wildcardy:
    • telegram.* pasuje do telegram.http
    • * włącza wszystkie flagi

Włączanie przez config

{
  "diagnostics": {
    "flags": ["telegram.http"]
  }
}
Wiele flag:
{
  "diagnostics": {
    "flags": ["telegram.http", "gateway.*"]
  }
}
Po zmianie flag uruchom ponownie gateway.

Nadpisanie przez zmienną środowiskową (jednorazowe)

OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload
Wyłącz wszystkie flagi:
OPENCLAW_DIAGNOSTICS=0

Gdzie trafiają logi

Flagi emitują logi do standardowego pliku logów diagnostycznych. Domyślnie:
/tmp/openclaw/openclaw-YYYY-MM-DD.log
Jeśli ustawisz logging.file, używana będzie ta ścieżka. Logi mają format JSONL (jeden obiekt JSON na linię). Redakcja nadal obowiązuje zgodnie z logging.redactSensitive.

Wyodrębnianie logów

Wybierz najnowszy plik logu:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1
Filtruj pod kątem diagnostyki HTTP Telegram:
rg "telegram http error" /tmp/openclaw/openclaw-*.log
Albo śledź na żywo podczas odtwarzania problemu:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"
Dla zdalnych gateway możesz także użyć openclaw logs --follow (zobacz /cli/logs).

Uwagi

  • Jeśli logging.level jest ustawione wyżej niż warn, te logi mogą zostać stłumione. Domyślne info jest odpowiednie.
  • Flagi można bezpiecznie pozostawić włączone; wpływają tylko na wolumen logów dla konkretnego podsystemu.
  • Użyj /logging, aby zmienić miejsca docelowe logów, poziomy i redakcję.