Журналирование
Обзор для пользователей (CLI + Control UI + конфигурация) см. в /logging. В OpenClaw есть две «поверхности» журналов:- Консольный вывод (то, что вы видите в терминале / Debug UI).
- Файловые журналы (строки JSON), записываемые логгером Gateway.
thinking берется из агента по умолчанию, параметров модели или глобального значения агента по умолчанию;
если оно не задано, сводка запуска показывает medium. fast берется из
агента по умолчанию или параметров модели fastMode.
Файловый логгер
- Скользящий файл журнала по умолчанию находится в
/tmp/openclaw/(один файл на день):openclaw-YYYY-MM-DD.log- Дата использует локальный часовой пояс хоста Gateway.
- Активные файлы журналов ротируются при
logging.maxFileBytes(по умолчанию: 100 MB), с сохранением до пяти нумерованных архивов и продолжением записи в новый активный файл. - Путь к файлу журнала и уровень можно настроить через
~/.openclaw/openclaw.json:logging.filelogging.level
logs.tail).
CLI может делать то же самое:
- Файловые журналы управляются исключительно
logging.level. --verboseвлияет только на подробность консоли (и стиль журналов WS); он не повышает уровень файлового журнала.- Чтобы записывать детали, доступные только в подробном режиме, в файловые журналы, задайте
logging.levelкакdebugилиtrace. - Журналирование Trace также включает диагностические сводки времени для выбранных горячих путей, таких как подготовка фабрики инструментов Plugin. См. /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
Форматирование консоли (журналирование подсистем)
Форматтер консоли учитывает 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, чтобы увидеть их)