---
read_when:
    - Зміна виводу журналювання або форматів
    - Налагодження виводу CLI або Gateway
summary: Поверхні логування, файлові логи, стилі WS-логів і форматування консолі
title: Журналювання Gateway
x-i18n:
    generated_at: "2026-05-01T22:18:30Z"
    model: gpt-5.5
    provider: openai
    source_hash: eb5f5ccd77909e82bd2938a33514ce8361c69910eb945c731d9b2c8266174c13
    source_path: gateway/logging.md
    workflow: 16
---

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

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

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

- **Консольний вивід** (те, що ви бачите в терміналі / Debug UI).
- **Файлові журнали** (рядки JSON), які записує журналювач Gateway.

## Файловий журналювач

- Стандартний ротаційний файл журналу розташований у `/tmp/openclaw/` (один файл на день): `openclaw-YYYY-MM-DD.log`
  - Дата використовує локальний часовий пояс хоста Gateway.
- Активні файли журналу ротуються при `logging.maxFileBytes` (стандартно: 100 MB), зберігаючи
  до п’яти пронумерованих архівів і продовжуючи запис у новий активний файл.
- Шлях до файлу журналу та рівень можна налаштувати через `~/.openclaw/openclaw.json`:
  - `logging.file`
  - `logging.level`

Формат файлу: один об’єкт JSON на рядок.

Вкладка журналів у Control UI відстежує цей файл через Gateway (`logs.tail`).
CLI може робити те саме:

```bash
openclaw logs --follow
```

**Детальний режим і рівні журналювання**

- **Файлові журнали** керуються виключно `logging.level`.
- `--verbose` впливає лише на **детальність консолі** (і стиль журналів WS); він **не**
  підвищує рівень файлового журналу.
- Щоб записувати у файлові журнали деталі, доступні лише в детальному режимі, установіть `logging.level` на `debug` або
  `trace`.
- Журналювання trace також включає діагностичні підсумки часу для вибраних гарячих шляхів,
  наприклад підготовки фабрики інструментів Plugin. Див.
  [/tools/plugin#slow-plugin-tool-setup](/uk/tools/plugin#slow-plugin-tool-setup).

## Захоплення консолі

CLI захоплює `console.log/info/warn/error/debug/trace` і записує їх у файлові журнали,
одночасно продовжуючи друкувати у stdout/stderr.

Детальність консолі можна налаштовувати незалежно через:

- `logging.consoleLevel` (стандартно `info`)
- `logging.consoleStyle` (`pretty` | `compact` | `json`)

## Редагування чутливих даних

OpenClaw може маскувати чутливі токени до того, як журнальний або транскриптний вивід залишить
процес. Ця політика редагування журналів застосовується до консолі, файлового журналу, OTLP
записів журналу та текстових приймачів транскриптів сесії, тому відповідні секретні значення
маскуються до запису рядків JSONL або повідомлень на диск.

- `logging.redactSensitive`: `off` | `tools` (стандартно: `tools`)
- `logging.redactPatterns`: масив рядків regex (перевизначає стандартні значення)
  - Використовуйте сирі рядки regex (авто `gi`) або `/pattern/flags`, якщо потрібні власні прапорці.
  - Збіги маскуються зі збереженням перших 6 + останніх 4 символів (довжина >= 18), інакше `***`.
  - Стандартні значення покривають поширені присвоєння ключів, CLI прапорці, поля JSON, bearer-заголовки, блоки PEM, популярні префікси токенів і назви полів платіжних облікових даних, як-от номер картки, CVC/CVV, спільний платіжний токен і платіжні облікові дані.

Деякі межі безпеки завжди редагують чутливі дані незалежно від `logging.redactSensitive`.
Сюди входять події викликів інструментів Control UI, вивід інструмента `sessions_history`,
експорти діагностичної підтримки, спостереження помилок провайдерів, відображення команди
схвалення exec і журнали протоколу Gateway WebSocket. Ці поверхні все ще можуть використовувати
`logging.redactPatterns` як додаткові шаблони, але `redactSensitive: "off"`
не змушує їх виводити необроблені секрети.

## Журнали Gateway WebSocket

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
# optimized (only errors/slow)
openclaw gateway

# show all WS traffic (paired)
openclaw gateway --verbose --ws-log compact

# show all WS traffic (full meta)
openclaw gateway --verbose --ws-log full
```

## Форматування консолі (журналювання підсистем)

Форматер консолі **враховує 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`, щоб їх бачити)

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

## Пов’язане

- [Журналювання](/uk/logging)
- [Експорт OpenTelemetry](/uk/gateway/opentelemetry)
- [Експорт діагностики](/uk/gateway/diagnostics)
