Pencatatan Log
Untuk ikhtisar yang menghadap pengguna (CLI + Control UI + config), lihat /logging. OpenClaw memiliki dua “permukaan” log:- Output konsol (yang Anda lihat di terminal / Debug UI).
- Log file (baris JSON) yang ditulis oleh logger Gateway.
thinking berasal dari agen default, parameter model, atau default agen global;
ketika tidak disetel, ringkasan startup menampilkan medium. fast berasal dari
agen default atau parameter fastMode model.
Logger berbasis file
- File log bergulir default berada di bawah
/tmp/openclaw/(satu file per hari):openclaw-YYYY-MM-DD.log- Tanggal menggunakan zona waktu lokal host Gateway.
- File log aktif dirotasi pada
logging.maxFileBytes(default: 100 MB), menyimpan hingga lima arsip bernomor dan terus menulis file aktif baru. - Jalur dan level file log dapat dikonfigurasi melalui
~/.openclaw/openclaw.json:logging.filelogging.level
logs.tail).
CLI dapat melakukan hal yang sama:
- Log file dikendalikan secara eksklusif oleh
logging.level. --verbosehanya memengaruhi verbositas konsol (dan gaya log WS); ini tidak menaikkan level log file.- Untuk menangkap detail khusus verbose di log file, setel
logging.levelkedebugatautrace. - Pencatatan trace juga menyertakan ringkasan timing diagnostik untuk hot path tertentu, seperti persiapan factory tool Plugin. Lihat /tools/plugin#slow-plugin-tool-setup.
Penangkapan konsol
CLI menangkapconsole.log/info/warn/error/debug/trace dan menulisnya ke log file,
sambil tetap mencetak ke stdout/stderr.
Anda dapat menyetel verbositas konsol secara independen melalui:
logging.consoleLevel(defaultinfo)logging.consoleStyle(pretty|compact|json)
Redaksi
OpenClaw dapat menyamarkan token sensitif sebelum output log atau transkrip keluar dari proses. Kebijakan redaksi pencatatan log ini diterapkan pada konsol, file-log, rekaman log OTLP, dan sink teks transkrip sesi, sehingga nilai rahasia yang cocok disamarkan sebelum baris JSONL atau pesan ditulis ke disk.logging.redactSensitive:off|tools(default:tools)logging.redactPatterns: array string regex (menimpa default)- Gunakan string regex mentah (otomatis
gi), atau/pattern/flagsjika Anda memerlukan flag khusus. - Kecocokan disamarkan dengan mempertahankan 6 karakter pertama + 4 karakter terakhir (panjang >= 18), jika tidak
***. - Default mencakup assignment key umum, flag CLI, field JSON, header bearer, blok PEM, prefiks token populer, dan nama field kredensial pembayaran seperti nomor kartu, CVC/CVV, token pembayaran bersama, dan kredensial pembayaran.
- Gunakan string regex mentah (otomatis
logging.redactSensitive.
Ini mencakup event tool-call Control UI, output tool sessions_history,
ekspor dukungan diagnostik, observasi error penyedia, tampilan perintah persetujuan exec,
dan log protokol WebSocket Gateway. Permukaan ini masih dapat menggunakan
logging.redactPatterns sebagai pola tambahan, tetapi redactSensitive: "off"
tidak membuatnya mengeluarkan rahasia mentah.
Log WebSocket Gateway
Gateway mencetak log protokol WebSocket dalam dua mode:- Mode normal (tanpa
--verbose): hanya hasil RPC yang “menarik” yang dicetak:- error (
ok=false) - panggilan lambat (ambang default:
>= 50ms) - error parsing
- error (
- Mode verbose (
--verbose): mencetak semua traffic request/response WS.
Gaya log WS
openclaw gateway mendukung switch gaya per-Gateway:
--ws-log auto(default): mode normal dioptimalkan; mode verbose menggunakan output ringkas--ws-log compact: output ringkas (request/response berpasangan) saat verbose--ws-log full: output penuh per-frame saat verbose--compact: alias untuk--ws-log compact
Pemformatan konsol (pencatatan log subsistem)
Formatter konsol sadar TTY dan mencetak baris konsisten dengan prefiks. Logger subsistem menjaga output tetap terkelompok dan mudah dipindai. Perilaku:- Prefiks subsistem pada setiap baris (mis.
[gateway],[canvas],[tailscale]) - Warna subsistem (stabil per subsistem) plus pewarnaan level
- Warna saat output adalah TTY atau lingkungan tampak seperti terminal kaya (
TERM/COLORTERM/TERM_PROGRAM), menghormatiNO_COLOR - Prefiks subsistem yang dipendekkan: menghapus awalan
gateway/+channels/, mempertahankan 2 segmen terakhir (mis.whatsapp/outbound) - Sub-logger berdasarkan subsistem (prefiks otomatis + field terstruktur
{ subsystem }) logRaw()untuk output QR/UX (tanpa prefiks, tanpa pemformatan)- Gaya konsol (mis.
pretty | compact | json) - Level log konsol terpisah dari level log file (file mempertahankan detail penuh saat
logging.leveldisetel kedebug/trace) - Isi pesan WhatsApp dicatat pada
debug(gunakan--verboseuntuk melihatnya)