Diagnostics
Flag diagnostik
Flag diagnostik mengaktifkan pencatatan log tambahan untuk satu subsistem tanpa menaikkan
logging.level secara global. Sebuah flag tidak berpengaruh kecuali jika diperiksa oleh subsistem.
Cara kerjanya
- Flag adalah string yang tidak peka huruf besar-kecil, diambil dari
diagnostics.flagsdalam konfigurasi serta penimpaan envOPENCLAW_DIAGNOSTICS, lalu dideduplikasi dan diubah menjadi huruf kecil. name.*cocok dengannameitu sendiri dan semua yang berada di bawahname.(misalnya,telegram.*cocok dengantelegram.http).*atauallmengaktifkan setiap flag.- Mulai ulang Gateway setelah mengubah
diagnostics.flagsdalam konfigurasi; perubahan tersebut tidak dimuat ulang secara langsung.
Flag yang diketahui
| Flag | Mengaktifkan |
|---|---|
telegram.http |
Pencatatan log kesalahan HTTP Telegram Bot API |
brave.http |
Pencatatan log permintaan/respons/cache Brave Search |
profiler |
Profiler tahap balasan dan profiler server aplikasi Codex (keduanya) |
reply.profiler |
Hanya profiler tahap balasan |
codex.profiler |
Hanya profiler server aplikasi Codex |
health |
Detail debug pemeriksaan kesehatan/akun/pengikatan Gateway |
ingress.timing |
Pengaturan waktu pemuatan sesi, pemilihan model, dan katalog model |
plugin.load-profile |
Pengaturan waktu pemuatan modul plugin secara sinkron |
timeline |
Artefak lini masa JSONL terstruktur (lihat di bawah) |
Aktifkan melalui konfigurasi
{ "diagnostics": { "flags": ["telegram.http"] }}Beberapa flag:
{ "diagnostics": { "flags": ["telegram.http", "brave.http", "gateway.*"] }}Penimpaan env (sekali pakai)
OPENCLAW_DIAGNOSTICS=telegram.http,brave.httpNilai dipisahkan berdasarkan koma atau spasi. Nilai khusus:
| Nilai | Efek |
|---|---|
0, false, off, none |
Menonaktifkan semua flag, termasuk menimpa konfigurasi |
1, true, all, * |
Mengaktifkan setiap flag |
OPENCLAW_DIAGNOSTICS=0 menonaktifkan flag dari env dan konfigurasi untuk
proses tersebut, yang berguna untuk membisukan sementara flag profiler yang dibiarkan aktif dalam konfigurasi
tanpa mengedit berkas.
Flag profiler
Flag profiler mengendalikan rentang pengaturan waktu ringan; tidak menambah beban saat dinonaktifkan.
Aktifkan semua rentang yang dikendalikan profiler untuk satu kali proses Gateway:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway runAktifkan hanya rentang profiler pengiriman balasan:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway runAktifkan hanya rentang profiler startup/alat/utas server aplikasi Codex:
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway runprofiler mengaktifkan profiler balasan dan profiler Codex; gunakan
nama flag tercakup untuk mengaktifkan hanya salah satunya.
Atau tetapkan dalam konfigurasi:
{ "diagnostics": { "flags": ["reply.profiler", "codex.profiler"] }}Mulai ulang Gateway setelah mengubah flag konfigurasi. Untuk menonaktifkan flag profiler,
hapus flag tersebut dari diagnostics.flags dan mulai ulang, atau mulai proses dengan
OPENCLAW_DIAGNOSTICS=0 untuk menimpa setiap flag diagnostik bagi proses tersebut.
Artefak lini masa
Flag timeline (alias: diagnostics.timeline) menulis peristiwa pengaturan waktu startup
dan runtime terstruktur sebagai JSONL, untuk harness QA eksternal:
OPENCLAW_DIAGNOSTICS=timeline \OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \openclaw gateway runAtau aktifkan dalam konfigurasi:
{ "diagnostics": { "flags": ["timeline"] }}Jalur keluaran selalu berasal dari OPENCLAW_DIAGNOSTICS_TIMELINE_PATH, bahkan
saat flag itu sendiri ditetapkan dalam konfigurasi; tidak ada kunci konfigurasi untuk jalur tersebut.
Saat timeline hanya diaktifkan dari konfigurasi, rentang pemuatan konfigurasi paling awal
tidak tersedia karena OpenClaw belum membaca konfigurasi; rentang startup berikutnya
direkam secara normal.
OPENCLAW_DIAGNOSTICS=1, =all, dan =* juga mengaktifkan lini masa, karena ketiganya
mengaktifkan setiap flag. Utamakan flag tercakup timeline jika Anda hanya menginginkan
artefak JSONL dan bukan semua flag diagnostik lainnya.
Sampel penundaan loop peristiwa dalam lini masa memerlukan satu persetujuan tambahan selain
timeline: tetapkan OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 (atau on/true/yes) selain
mengaktifkan lini masa.
Rekaman lini masa menggunakan amplop openclaw.diagnostics.v1 dan dapat mencakup
ID proses, nama fase, nama rentang, durasi, ID plugin, jumlah dependensi,
sampel penundaan loop peristiwa, nama operasi penyedia, status keluar proses anak,
serta nama/pesan kesalahan startup. Perlakukan berkas lini masa sebagai artefak
diagnostik lokal; tinjau sebelum membagikannya ke luar mesin Anda.
Lokasi log
Flag mengirimkan log ke berkas log diagnostik standar. Secara default:
/tmp/openclaw/openclaw-YYYY-MM-DD.logJika Anda menetapkan logging.file, gunakan jalur tersebut sebagai gantinya. Log berformat JSONL (satu objek JSON
per baris). Redaksi tetap diterapkan berdasarkan logging.redactSensitive.
Lihat Pencatatan log untuk resolusi jalur log, rotasi, dan
model redaksi selengkapnya.
Ekstrak log
Pilih berkas log terbaru:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1Filter diagnostik HTTP Telegram:
rg "telegram http error" /tmp/openclaw/openclaw-*.logFilter diagnostik HTTP Brave Search:
rg "brave http" /tmp/openclaw/openclaw-*.logAtau pantau saat mereproduksi:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"Untuk Gateway jarak jauh, gunakan openclaw logs --follow sebagai gantinya (lihat
/cli/logs).
Catatan
- Jika
logging.levelditetapkan lebih tinggi daripadawarn, log yang dikendalikan flag mungkin disembunyikan. Nilai defaultinfosudah sesuai. brave.httpmencatat URL/parameter kueri permintaan Brave Search, status/pengaturan waktu respons, serta peristiwa hit/miss/penulisan cache. Flag ini tidak mencatat kunci API (yang dikirim sebagai header permintaan) atau isi respons, tetapi kueri pencarian dapat bersifat sensitif.- Flag aman dibiarkan aktif; flag tersebut hanya memengaruhi volume log untuk subsistem tertentu.
- Gunakan /logging untuk mengubah tujuan, tingkat, dan redaksi log.