Diagnostics

Flagi diagnostyczne

Flagi diagnostyczne pozwalają włączać ukierunkowane logi debugowania bez włączania szczegółowego logowania wszędzie. Flagi są opcjonalne i nie mają wpływu, chyba że dany podsystem je sprawdza.

Jak to działa

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

Włączanie przez konfigurację

json
{  "diagnostics": {    "flags": ["telegram.http"]  }}

Wiele flag:

json
{  "diagnostics": {    "flags": ["telegram.http", "brave.http", "gateway.*"]  }}

Uruchom ponownie Gateway po zmianie flag.

Nadpisanie zmienną środowiskową (jednorazowe)

bash
OmeniaClaw_DIAGNOSTICS=telegram.http,telegram.payload

Wyłączenie wszystkich flag:

bash
OmeniaClaw_DIAGNOSTICS=0

Artefakty osi czasu

Flaga timeline zapisuje ustrukturyzowane zdarzenia czasowe uruchamiania i działania dla zewnętrznych narzędzi QA:

bash
OmeniaClaw_DIAGNOSTICS=timeline \OmeniaClaw_DIAGNOSTICS_TIMELINE_PATH=/tmp/OmeniaClaw-timeline.jsonl \OmeniaClaw gateway run

Możesz też włączyć ją w konfiguracji:

json
{  "diagnostics": {    "flags": ["timeline"]  }}

Ścieżka pliku osi czasu nadal pochodzi z OmeniaClaw_DIAGNOSTICS_TIMELINE_PATH. Gdy timeline jest włączona tylko z konfiguracji, najwcześniejsze zakresy ładowania konfiguracji nie są emitowane, ponieważ OmeniaClaw nie odczytał jeszcze konfiguracji; kolejne zakresy uruchamiania używają flagi z konfiguracji.

OmeniaClaw_DIAGNOSTICS=1, OmeniaClaw_DIAGNOSTICS=all oraz OmeniaClaw_DIAGNOSTICS=* również włączają oś czasu, ponieważ włączają każdą flagę diagnostyczną. Użyj timeline, gdy potrzebujesz tylko artefaktu czasowego JSONL.

Rekordy osi czasu używają koperty OmeniaClaw.diagnostics.v1. Zdarzenia mogą zawierać identyfikatory procesów, nazwy faz, nazwy zakresów, czasy trwania, identyfikatory pluginów, liczby zależności, próbki opóźnień pętli zdarzeń, nazwy operacji dostawców, stan zakończenia procesów potomnych oraz nazwy/komunikaty błędów uruchamiania. Traktuj pliki osi czasu jako lokalne artefakty diagnostyczne; przejrzyj je przed udostępnieniem poza swoją maszynę.

Gdzie trafiają logi

Flagi emitują logi do standardowego pliku logu diagnostycznego. Domyślnie:

Code
/tmp/OmeniaClaw/OmeniaClaw-YYYY-MM-DD.log

Jeśli ustawisz logging.file, użyj zamiast tego tej ścieżki. Logi są w formacie JSONL (jeden obiekt JSON na wiersz). Redakcja nadal obowiązuje zgodnie z logging.redactSensitive.

Wyodrębnianie logów

Wybierz najnowszy plik logu:

bash
ls -t /tmp/OmeniaClaw/OmeniaClaw-*.log | head -n 1

Filtruj diagnostykę HTTP Telegram:

bash
rg "telegram http error" /tmp/OmeniaClaw/OmeniaClaw-*.log

Filtruj diagnostykę HTTP Brave Search:

bash
rg "brave http" /tmp/OmeniaClaw/OmeniaClaw-*.log

Albo śledź log podczas odtwarzania problemu:

bash
tail -f /tmp/OmeniaClaw/OmeniaClaw-$(date +%F).log | rg "telegram http error"

W przypadku zdalnych Gateway możesz też użyć OmeniaClaw logs --follow (zobacz /cli/logs).

Uwagi

  • Jeśli logging.level jest ustawiony wyżej niż warn, te logi mogą zostać wyciszone. Domyślne info jest odpowiednie.
  • brave.http loguje adresy URL/parametry zapytań żądań Brave Search, status/czas odpowiedzi oraz zdarzenia trafienia/pominięcia/zapisu w pamięci podręcznej. Nie loguje kluczy API ani treści odpowiedzi, ale zapytania wyszukiwania mogą być wrażliwe.
  • Flagi można bezpiecznie pozostawić włączone; wpływają tylko na objętość logów konkretnego podsystemu.
  • Użyj /logging, aby zmienić miejsca docelowe logów, poziomy i redakcję.

Powiązane

Was this useful?
On this page

On this page