Логування
Огляд для користувачів (CLI + Control UI + config) див. у /logging. OpenClaw має дві «поверхні» логування:- Вивід у консоль (те, що ви бачите в терміналі / Debug UI).
- Файлові логи (рядки JSON), які записує logger gateway.
Logger на основі файлів
- Типовий rolling log file розміщується в
/tmp/openclaw/(один файл на день):openclaw-YYYY-MM-DD.log- Дата використовує локальний часовий пояс хоста gateway.
- Шлях до log file і рівень логування можна налаштувати через
~/.openclaw/openclaw.json:logging.filelogging.level
logs.tail).
CLI може робити те саме:
- Файлові логи керуються виключно через
logging.level. --verboseвпливає лише на деталізацію консолі (і стиль WS-логів); він не підвищує рівень файлового логування.- Щоб записувати подробиці лише verbose у файлові логи, задайте
logging.levelякdebugабоtrace.
Перехоплення консолі
CLI перехоплюєconsole.log/info/warn/error/debug/trace і записує їх у файлові логи,
водночас продовжуючи виводити їх у stdout/stderr.
Ви можете окремо налаштувати деталізацію консолі через:
logging.consoleLevel(типовоinfo)logging.consoleStyle(pretty|compact|json)
Редагування підсумків інструментів
Докладні підсумки інструментів (наприклад,🛠️ Exec: ...) можуть маскувати чутливі токени до того, як вони потраплять у
потік консолі. Це стосується лише інструментів і не змінює файлові логи.
logging.redactSensitive:off|tools(типово:tools)logging.redactPatterns: масив regex-рядків (перевизначає типові значення)- Використовуйте сирі regex-рядки (автоматично
gi) або/pattern/flags, якщо вам потрібні власні прапорці. - Збіги маскуються зі збереженням перших 6 + останніх 4 символів (довжина >= 18), інакше
***. - Типові значення охоплюють поширені присвоєння ключів, прапорці CLI, JSON-поля, bearer-заголовки, PEM-блоки та популярні префікси токенів.
- Використовуйте сирі regex-рядки (автоматично
WebSocket-логи Gateway
Gateway виводить логи протоколу WebSocket у двох режимах:- Звичайний режим (без
--verbose): виводяться лише «цікаві» результати RPC:- помилки (
ok=false) - повільні виклики (типовий поріг:
>= 50ms) - помилки розбору
- помилки (
- Режим verbose (
--verbose): виводиться весь трафік запитів/відповідей WS.
Стиль WS-логів
openclaw gateway підтримує перемикач стилю для кожного gateway:
--ws-log auto(типово): звичайний режим оптимізований; режим verbose використовує compact output--ws-log compact: compact output (парний запит/відповідь) у режимі verbose--ws-log full: повний вивід для кожного frame у режимі verbose--compact: псевдонім для--ws-log compact
Форматування консолі (логування підсистем)
Форматер консолі враховує TTY і друкує узгоджені рядки з префіксами. Логери підсистем зберігають вивід згрупованим і зручним для перегляду. Поведінка:- Префікси підсистем у кожному рядку (наприклад,
[gateway],[canvas],[tailscale]) - Кольори підсистем (сталі для кожної підсистеми) плюс кольори рівнів
- Колір, коли вивід є TTY або середовище схоже на багатий термінал (
TERM/COLORTERM/TERM_PROGRAM), з урахуваннямNO_COLOR - Скорочені префікси підсистем: прибирає початкові
gateway/+channels/, залишає останні 2 сегменти (наприклад,whatsapp/outbound) - Підлогери за підсистемою (автоматичний префікс + структуроване поле
{ subsystem }) logRaw()для QR/UX-виводу (без префікса, без форматування)- Стилі консолі (наприклад,
pretty | compact | json) - Рівень логування консолі окремо від рівня файлового логування (файл зберігає повну деталізацію, коли
logging.levelзадано якdebug/trace) - Тіла повідомлень WhatsApp логуються на рівні
debug(використовуйте--verbose, щоб їх побачити)