Gateway

Журналювання Gateway

Журналювання

Огляд для користувачів (CLI + Control UI + конфігурація) див. у розділі /logging.

OpenClaw має дві поверхні журналювання:

  • Виведення в консоль — те, що ви бачите в терміналі / інтерфейсі налагодження.
  • Файлові журнали — рядки JSON, які записує реєстратор Gateway.

Під час запуску Gateway записує до журналу визначену модель агента за замовчуванням, а також стандартні режими, що впливають на нові сеанси:

text
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 робить те саме:

bash
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.
bash
# оптимізований режим (лише помилки/повільні виклики)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).

Це зберігає стабільність файлових журналів і водночас робить інтерактивне виведення зручним для перегляду.

Пов’язані матеріали

Was this useful?
On this page

On this page