Diagnostics
Прапорці діагностики
Прапорці діагностики дають змогу ввімкнути цільові журнали налагодження без увімкнення детального логування всюди. Прапорці вмикаються явно й не мають ефекту, якщо підсистема їх не перевіряє.
Як це працює
- Прапорці є рядками (без урахування регістру).
- Ви можете ввімкнути прапорці в конфігурації або через перевизначення змінною середовища.
- Підтримуються шаблони:
telegram.*відповідаєtelegram.http*вмикає всі прапорці
Увімкнення через конфігурацію
{ "diagnostics": { "flags": ["telegram.http"] }}Кілька прапорців:
{ "diagnostics": { "flags": ["telegram.http", "brave.http", "gateway.*"] }}Перезапустіть Gateway після зміни прапорців.
Перевизначення через змінну середовища (одноразово)
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payloadВимкнути всі прапорці:
OPENCLAW_DIAGNOSTICS=0OPENCLAW_DIAGNOSTICS=0 — це перевизначення вимкнення на рівні процесу: воно вимикає
прапорці як зі змінної середовища, так і з конфігурації для цього процесу.
Прапорці профілювання
Прапорці профайлера вмикають цільові інтервали вимірювання часу без підвищення глобальних рівнів логування. За замовчуванням вони вимкнені.
Увімкнути всі інтервали, керовані профайлером, для одного запуску Gateway:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway runУвімкнути лише інтервали профайлера для dispatch відповідей:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway runУвімкнути лише інтервали профайлера запуску сервера застосунку 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, щоб змінити призначення журналів, рівні та редагування чутливих даних.