---
read_when:
    - Изменение вывода или форматов журналирования
    - Отладка вывода CLI или gateway
summary: Поверхности логирования, файловые журналы, стили журналов WS и форматирование консоли
title: Логирование Gateway
x-i18n:
    generated_at: "2026-06-28T22:58:11Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: dde5e589bb48cd8c41ac6dd0d74780fec1cc1ee79d82d433b4e7c7450dc5c8b6
    source_path: gateway/logging.md
    workflow: 16
---

# Журналирование

Обзор для пользователей (CLI + Control UI + конфигурация) см. в [/logging](/ru/logging).

В OpenClaw есть две «поверхности» журналов:

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

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

```text
agent model: openai/gpt-5.5 (thinking=medium, fast=on)
```

`thinking` берется из агента по умолчанию, параметров модели или глобального значения агента по умолчанию;
если оно не задано, сводка запуска показывает `medium`. `fast` берется из
агента по умолчанию или параметров модели `fastMode`.

## Файловый логгер

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

Формат файла: один объект JSON на строку.

Пути кода Talk, голосового режима реального времени и управляемых комнат используют общий файловый логгер для
ограниченных записей жизненного цикла. Эти записи предназначены для операционной отладки
и экспорта журналов OTLP; текст транскрипта, аудиоданные, идентификаторы ходов, идентификаторы вызовов и
идентификаторы элементов провайдера не копируются в запись журнала.

Вкладка Logs в 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](/ru/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`: массив строк регулярных выражений (переопределяет значения по умолчанию)
  - Используйте необработанные строки регулярных выражений (автоматически `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`, чтобы увидеть их)

Это сохраняет существующие файловые журналы стабильными, делая интерактивный вывод удобным для просмотра.

## См. также

- [Журналирование](/ru/logging)
- [Экспорт OpenTelemetry](/ru/gateway/opentelemetry)
- [Экспорт диагностики](/ru/gateway/diagnostics)
