Gateway
Журналювання Gateway
Журналювання
Огляд для користувачів (CLI + Control UI + конфігурація) див. у розділі /logging.
OpenClaw має дві поверхні журналювання:
- Виведення в консоль — те, що ви бачите в терміналі / інтерфейсі налагодження.
- Файлові журнали — рядки JSON, які записує реєстратор Gateway.
Під час запуску Gateway записує до журналу визначену модель агента за замовчуванням, а також стандартні режими, що впливають на нові сеанси:
agent model: openai/gpt-5.6-sol (thinking=medium, fast=on)Значення thinking береться з агента за замовчуванням, параметрів моделі або глобальних стандартних налаштувань агента; якщо його не задано, відображається medium. Значення fast береться з агента за замовчуванням або параметрів fastMode моделі.
Файловий реєстратор
- Стандартний циклічний файл журналу розташований у
/tmp/openclaw/(один файл на день):openclaw-YYYY-MM-DD.log; дата визначається за локальним часовим поясом хоста Gateway. Якщо цей каталог небезпечний або недоступний для запису (неправильний власник, запис дозволено всім або це символічне посилання), OpenClaw натомість використовує шляхos.tmpdir()/openclaw-<uid>у межах користувача; у Windows завжди використовується цей резервний варіант із тимчасовим каталогом ОС. - Активні файли журналу ротуються після досягнення
logging.maxFileBytes(за замовчуванням: 100 МБ); зберігається до п’яти нумерованих архівів (від.1до.5), після чого запис продовжується в новий активний файл. - Налаштуйте шлях до файлу журналу та рівень у
~/.openclaw/openclaw.json:logging.file,logging.level. - Формат файлу — один об’єкт JSON на рядок.
Шляхи коду розмов, голосового зв’язку в реальному часі та керованих кімнат використовують спільний файловий реєстратор для обмежених записів життєвого циклу, призначених для операційного налагодження та експорту журналів OTLP. Текст транскрипту, аудіодані, ідентифікатори реплік, викликів і елементів постачальника ніколи не копіюються до запису журналу.
Вкладка журналів у Control UI відстежує цей файл через Gateway (logs.tail). CLI робить те саме:
openclaw logs --followДокладний режим і рівні журналювання
- Файлові журнали контролюються виключно параметром
logging.level. --verboseвпливає лише на докладність консолі (і стиль журналів WS) — він не підвищує рівень файлового журналювання.- Щоб записувати у файлові журнали відомості, доступні лише в докладному режимі, установіть для
logging.levelзначенняdebugабоtrace. - Журналювання рівня трасування також містить діагностичні підсумки часу виконання для вибраних гарячих шляхів, як-от підготовка фабрики інструментів Plugin. Див. /tools/plugin#slow-plugin-tool-setup.
Перехоплення консолі
CLI перехоплює console.log/info/warn/error/debug/trace, записує їх у файлові журнали й водночас виводить у stdout/stderr.
Налаштовуйте докладність консолі незалежно:
logging.consoleLevel(за замовчуваннямinfo)logging.consoleStyle(pretty|compact|json; за замовчуваннямprettyу TTY, інакшеcompact)
Редагування конфіденційних даних
OpenClaw маскує конфіденційні токени до того, як журнальні або транскрипційні дані залишають процес. Ця політика редагування застосовується до консолі, файлового журналу, записів журналу OTLP і текстових приймачів транскриптів сеансів, тому відповідні секретні значення маскуються до запису рядків JSONL або повідомлень на диск.
logging.redactSensitive:off|tools(за замовчуванням:tools)logging.redactPatterns: масив рядків регулярних виразів (перевизначає стандартні значення)- Використовуйте необроблені рядки регулярних виразів (автоматично
gi) або/pattern/flagsдля власних прапорців. - Збіги маскуються зі збереженням перших 6 і останніх 4 символів (для значень завдовжки від 18 символів); коротші значення замінюються на
***. - Стандартні шаблони охоплюють поширені присвоєння ключів, прапорці CLI, поля JSON, заголовки носійної автентифікації, блоки PEM, популярні префікси токенів постачальників і назви полів платіжних облікових даних (номер картки, CVC/CVV, спільний платіжний токен, платіжні облікові дані).
- Використовуйте необроблені рядки регулярних виразів (автоматично
Деякі межі безпеки завжди виконують редагування незалежно від logging.redactSensitive: події викликів інструментів Control UI, виведення інструмента sessions_history, діагностичні експорти для підтримки, спостереження за помилками постачальника, відображення команд для схвалення виконання та журнали протоколу WebSocket Gateway. Ці поверхні й надалі враховують logging.redactPatterns як додаткові шаблони, але redactSensitive: "off" не дозволяє їм виводити необроблені секрети.
Журнали WebSocket Gateway
Gateway виводить журнали протоколу WebSocket у двох режимах:
- Звичайний режим (без
--verbose): виводяться лише «цікаві» результати RPC — помилки (ok=false), повільні виклики (стандартний поріг:>= 50ms) і помилки синтаксичного аналізу. - Докладний режим (
--verbose): виводиться весь трафік запитів і відповідей WS.
Стиль журналів WS
openclaw gateway підтримує окреме перемикання стилю для кожного Gateway:
--ws-log auto(за замовчуванням): звичайний режим оптимізовано; докладний режим використовує компактне виведення.--ws-log compact: компактне виведення (парні запит і відповідь) у докладному режимі.--ws-log full: повне виведення кожного кадру в докладному режимі.--compact: псевдонім для--ws-log compact.
# оптимізований режим (лише помилки/повільні виклики)openclaw gateway # показати весь трафік WS (попарно)openclaw gateway --verbose --ws-log compact # показати весь трафік WS (повні метадані)openclaw gateway --verbose --ws-log fullФорматування консолі (журналювання підсистем)
Засіб форматування консолі враховує TTY і виводить узгоджені рядки з префіксами. Реєстратори підсистем зберігають виведення згрупованим і зручним для перегляду:
- Префікси підсистем у кожному рядку (наприклад,
[gateway],[canvas],[tailscale]). - Кольори підсистем (сталі для кожної підсистеми, хешовані з її назви) разом із кольоровим позначенням рівнів.
- Кольорове виведення, коли використовується TTY або середовище схоже на повнофункціональний термінал (
TERM/COLORTERM/TERM_PROGRAM); враховуєNO_COLORіFORCE_COLOR. - Скорочені префікси підсистем: початковий сегмент
gateway/,channels/абоproviders/вилучається, після чого зберігаються не більше двох останніх сегментів (наприклад,channels/turn/kernelвідображається якturn/kernel). Відомі підсистеми каналів (telegram,whatsapp,slackтощо) завжди скорочуються лише до назви каналу. - Вкладені реєстратори за підсистемами (автоматичний префікс + структуроване поле
{ subsystem }). logRaw()для виведення QR/UX (без префікса та форматування).- Стилі консолі:
pretty|compact|json. - Рівень журналювання консолі відокремлений від рівня файлового журналювання (файл зберігає повну деталізацію, коли
logging.levelмає значенняdebug/trace). - Тіла повідомлень WhatsApp записуються на рівні
debug(щоб побачити їх, використовуйте--verbose).
Це зберігає стабільність файлових журналів і водночас робить інтерактивне виведення зручним для перегляду.