Logowanie
Aby zapoznać się z przeglądem dla użytkownika (CLI + UI sterowania + konfiguracja), zobacz /logging. OpenClaw ma dwie „powierzchnie” logowania:- Wyjście konsoli (to, co widać w terminalu / UI debugowania).
- Logi plikowe (linie JSON) zapisywane przez logger gateway.
Logger oparty na plikach
- Domyślny rotujący plik logów znajduje się w
/tmp/openclaw/(jeden plik dziennie):openclaw-YYYY-MM-DD.log- Data używa lokalnej strefy czasowej hosta gateway.
- Ścieżkę pliku logów i poziom można skonfigurować przez
~/.openclaw/openclaw.json:logging.filelogging.level
logs.tail).
CLI może zrobić to samo:
- Logi plikowe są kontrolowane wyłącznie przez
logging.level. --verbosewpływa tylko na szczegółowość konsoli (oraz styl logów WS); nie podnosi poziomu logów plikowych.- Aby zapisać w logach plikowych szczegóły dostępne tylko w trybie verbose, ustaw
logging.levelnadebuglubtrace.
Przechwytywanie konsoli
CLI przechwytujeconsole.log/info/warn/error/debug/trace i zapisuje je do logów plikowych,
jednocześnie nadal wypisując je na stdout/stderr.
Szczegółowość konsoli można niezależnie dostroić za pomocą:
logging.consoleLevel(domyślnieinfo)logging.consoleStyle(pretty|compact|json)
Redakcja podsumowań narzędzi
Szczegółowe podsumowania narzędzi (np.🛠️ Exec: ...) mogą maskować wrażliwe tokeny, zanim trafią do
strumienia konsoli. Dotyczy to wyłącznie narzędzi i nie modyfikuje logów plikowych.
logging.redactSensitive:off|tools(domyślnie:tools)logging.redactPatterns: tablica ciągów regex (nadpisuje domyślne)- Użyj surowych ciągów regex (automatycznie
gi), lub/pattern/flags, jeśli potrzebujesz niestandardowych flag. - Dopasowania są maskowane przez zachowanie pierwszych 6 + ostatnich 4 znaków (długość >= 18), w przeciwnym razie
***. - Domyślne reguły obejmują typowe przypisania kluczy, flagi CLI, pola JSON, nagłówki bearer, bloki PEM oraz popularne prefiksy tokenów.
- Użyj surowych ciągów regex (automatycznie
Logi WebSocket gateway
Gateway wypisuje logi protokołu WebSocket w dwóch trybach:- Tryb normalny (bez
--verbose): drukowane są tylko „interesujące” wyniki RPC:- błędy (
ok=false) - wolne wywołania (domyślny próg:
>= 50ms) - błędy parsowania
- błędy (
- Tryb verbose (
--verbose): wypisuje cały ruch żądań/odpowiedzi WS.
Styl logów WS
openclaw gateway obsługuje przełącznik stylu per gateway:
--ws-log auto(domyślnie): tryb normalny jest zoptymalizowany; tryb verbose używa wyjścia kompaktowego--ws-log compact: wyjście kompaktowe (sparowane żądanie/odpowiedź) w trybie verbose--ws-log full: pełne wyjście per ramka w trybie verbose--compact: alias dla--ws-log compact
Formatowanie konsoli (logowanie podsystemów)
Formater konsoli jest świadomy TTY i drukuje spójne, prefiksowane linie. Loggery podsystemów utrzymują wyjście pogrupowane i czytelne. Zachowanie:- Prefiksy podsystemów na każdej linii (np.
[gateway],[canvas],[tailscale]) - Kolory podsystemów (stałe dla danego podsystemu) plus kolorowanie poziomów
- Kolorowanie, gdy wyjście jest TTY lub środowisko wygląda jak bogaty terminal (
TERM/COLORTERM/TERM_PROGRAM), z poszanowaniemNO_COLOR - Skrócone prefiksy podsystemów: usuwa wiodące
gateway/+channels/, zachowuje ostatnie 2 segmenty (np.whatsapp/outbound) - Pod-loggery według podsystemu (automatyczny prefiks + pole strukturalne
{ subsystem }) logRaw()dla wyjścia QR/UX (bez prefiksu, bez formatowania)- Style konsoli (np.
pretty | compact | json) - Poziom logów konsoli oddzielny od poziomu logów plikowych (plik zachowuje pełną szczegółowość, gdy
logging.leveljest ustawione nadebug/trace) - Treści wiadomości WhatsApp są logowane na poziomie
debug(użyj--verbose, aby je zobaczyć)