Diagnostics
Прапорці діагностики
Прапорці діагностики дають змогу вмикати цільові журнали налагодження без увімкнення докладного журналювання всюди. Прапорці вмикаються явно й не мають ефекту, якщо підсистема їх не перевіряє.
Як це працює
- Прапорці — це рядки (без урахування регістру).
- Ви можете ввімкнути прапорці в конфігурації або через перевизначення 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
Артефакти часової шкали
Прапорець timeline записує структуровані події часу запуску й виконання для
зовнішніх QA-стендів:
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
Фільтр для діагностики Telegram HTTP:
rg "telegram http error" /tmp/openclaw/openclaw-*.log
Фільтр для діагностики Brave Search HTTP:
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, щоб змінити призначення журналів, рівні та редагування чутливих даних.