> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Логирование Gateway

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

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

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

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

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

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
# 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)
