---
read_when:
    - Зміна виводу або форматів журналювання
    - Налагодження виводу CLI або gateway
summary: Поверхні логування, файлові журнали, стилі журналів WS і форматування консолі
title: Журналювання Gateway
x-i18n:
    generated_at: "2026-04-27T23:13:06Z"
    model: gpt-5.4
    provider: openai
    source_hash: 9ce9c78201d2e26760282b08eacb17826b1eac84e80b99d3a9d5cbff4078b5b3
    source_path: gateway/logging.md
    workflow: 15
---

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

Огляд для користувачів (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 на рядок.

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

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

**Докладний режим і рівні журналювання**

- **Файлові журнали** керуються виключно через `logging.level`.
- `--verbose` впливає лише на **деталізацію консолі** (і стиль журналів WS); він **не**
  підвищує рівень файлових журналів.
- Щоб зберігати деталі лише для докладного режиму у файлових журналах, установіть `logging.level` на `debug` або
  `trace`.

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

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 і популярні префікси токенів.

Деякі межі безпеки завжди виконують редагування незалежно від `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)
