---
read_when:
    - Изменение вывода или форматов журналирования
    - Отладка вывода CLI или Gateway
summary: Поверхности журналирования, журналы в файлах, стили журналов WS и форматирование консоли
title: Ведение журналов Gateway
x-i18n:
    generated_at: "2026-07-13T18:12:18Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 6717be5eac3dfc1acf36b2f21b049d46c7fc3678945295b10ae69781d89d35ad
    source_path: gateway/logging.md
    workflow: 16
---

# Ведение журналов

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

OpenClaw имеет две поверхности журналирования:

- **Вывод в консоль** — то, что отображается в терминале / Debug UI.
- **Файловые журналы** — строки JSON, записываемые средством журналирования Gateway.

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

```text
модель агента: openai/gpt-5.6-sol (мышление=среднее, быстрый режим=включён)
```

`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. Текст расшифровки, звуковые данные, идентификаторы реплик, вызовов и элементов провайдера никогда не копируются в запись журнала.

Вкладка Logs в Control UI отслеживает этот файл через Gateway (`logs.tail`). CLI делает то же самое:

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

### Подробный режим и уровни журналирования

- **Файловые журналы** управляются исключительно параметром `logging.level`.
- `--verbose` влияет только на **подробность вывода в консоль** (и стиль журналов WS) — он **не** повышает уровень файлового журналирования.
- Чтобы записывать в файловые журналы сведения, доступные только в подробном режиме, установите `logging.level` в `debug` или `trace`.
- Трассировочное журналирование также включает диагностические сводки времени выполнения для некоторых горячих путей, например подготовки фабрики инструментов плагина. См. [/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`; по умолчанию `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/` удаляется, затем сохраняются не более 2 последних оставшихся сегментов (например, `channels/turn/kernel` отображается как `turn/kernel`). Известные подсистемы каналов (`telegram`, `whatsapp`, `slack` и т. д.) всегда сокращаются до имени канала.
- **Дочерние средства журналирования по подсистемам** (автоматический префикс + структурированное поле `{ subsystem }`).
- **`logRaw()`** для вывода QR/UX (без префикса и форматирования).
- **Стили консоли**: `pretty` | `compact` | `json`.
- **Уровень консольного журналирования** задаётся отдельно от уровня файлового журналирования (в файле сохраняются все подробности, когда `logging.level` имеет значение `debug`/`trace`).
- **Тела сообщений WhatsApp** записываются на уровне `debug` (используйте `--verbose`, чтобы увидеть их).

Благодаря этому файловые журналы остаются стабильными, а интерактивный вывод — удобным для просмотра.

## См. также

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