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

Как это работает

  • Флаги — это строки (без учета регистра).
  • Вы можете включать флаги в конфигурации или через переопределение env.
  • Поддерживаются подстановочные знаки:
    • telegram.* соответствует telegram.http
    • * включает все флаги

Включение через конфигурацию

{
  "diagnostics": {
    "flags": ["telegram.http"]
  }
}
Несколько флагов:
{
  "diagnostics": {
    "flags": ["telegram.http", "brave.http", "gateway.*"]
  }
}
Перезапустите Gateway после изменения флагов.

Переопределение через env (одноразово)

OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload
Отключить все флаги:
OPENCLAW_DIAGNOSTICS=0
OPENCLAW_DIAGNOSTICS=0 — это переопределение отключения на уровне процесса: оно отключает флаги как из env, так и из конфигурации для этого процесса.

Флаги профилирования

Флаги профилировщика включают целевые интервалы измерения времени без повышения глобальных уровней журналирования. По умолчанию они отключены. Включить все интервалы, ограниченные профилировщиком, для одного запуска Gateway:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway run
Включить только интервалы профилировщика для диспетчеризации ответов:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway run
Включить только интервалы профилировщика запуска app-server Codex, инструментов и потоков:
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway run
Включить флаги профилировщика из конфигурации:
{
  "diagnostics": {
    "flags": ["reply.profiler", "codex.profiler"]
  }
}
Перезапустите Gateway после изменения флагов конфигурации. Чтобы отключить флаг профилировщика, удалите его из diagnostics.flags и перезапустите. Чтобы временно отключить каждый флаг диагностики, даже если конфигурация включает флаги профилировщика, запустите процесс с:
OPENCLAW_DIAGNOSTICS=0 openclaw gateway run

Артефакты временной шкалы

Флаг timeline записывает структурированные события времени запуска и выполнения для внешних QA harnesses:
OPENCLAW_DIAGNOSTICS=timeline \
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \
openclaw gateway run
Вы также можете включить его в конфигурации:
{
  "diagnostics": {
    "flags": ["timeline"]
  }
}
Путь к файлу временной шкалы по-прежнему берется из OPENCLAW_DIAGNOSTICS_TIMELINE_PATH. Когда timeline включен только из конфигурации, самые ранние интервалы загрузки конфигурации не выводятся, потому что OpenClaw еще не прочитал конфигурацию; последующие интервалы запуска используют флаг конфигурации. OPENCLAW_DIAGNOSTICS=1, OPENCLAW_DIAGNOSTICS=all и OPENCLAW_DIAGNOSTICS=* также включают временную шкалу, потому что они включают каждый флаг диагностики. Предпочитайте timeline, когда вам нужен только артефакт измерения времени в формате JSONL. Записи временной шкалы используют оболочку openclaw.diagnostics.v1. События могут включать идентификаторы процессов, названия фаз, названия интервалов, длительности, идентификаторы Plugin, количество зависимостей, образцы задержки цикла событий, имена операций провайдеров, состояние выхода дочернего процесса и имена/сообщения ошибок запуска. Рассматривайте файлы временной шкалы как локальные диагностические артефакты; просматривайте их перед передачей за пределы вашего компьютера.

Куда попадают журналы

Флаги выводят журналы в стандартный файл диагностического журнала. По умолчанию:
/tmp/openclaw/openclaw-YYYY-MM-DD.log
Если вы задали logging.file, используйте этот путь вместо него. Журналы имеют формат JSONL (один JSON-объект на строку). Редактирование чувствительных данных по-прежнему применяется на основе logging.redactSensitive.

Извлечение журналов

Выберите последний файл журнала:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1
Отфильтровать диагностику HTTP Telegram:
rg "telegram http error" /tmp/openclaw/openclaw-*.log
Отфильтровать диагностику HTTP Brave Search:
rg "brave http" /tmp/openclaw/openclaw-*.log
Или отслеживайте файл во время воспроизведения:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"
Для удаленных Gateway вы также можете использовать openclaw logs --follow (см. /cli/logs).

Примечания

  • Если logging.level установлен выше warn, эти журналы могут подавляться. Значение по умолчанию info подходит.
  • brave.http журналирует URL-адреса/параметры запросов Brave Search, статус/время ответа и события попадания/промаха/записи кэша. Он не журналирует ключи API или тела ответов, но поисковые запросы могут быть чувствительными.
  • Флаги безопасно оставлять включенными; они влияют только на объем журналов для конкретной подсистемы.
  • Используйте /logging, чтобы изменить назначения, уровни и редактирование чувствительных данных в журналах.

См. также