Pengurai log
Tempel log mentah — JSON, logfmt, akses web, syslog, atau teks biasa — dan dapatkan stempel waktu, level, pengecualian, serta bidang kunci tanpa menulis pola.
Rentang waktu
2026-10-20T13:55:36.123Z INFO [gateway] request received path=/api/orders user_id=4821
{"@timestamp":"2026-10-20T13:55:37.004Z","level":"error","service":"payment","message":"Charge failed","order_id":"A-1042","user_id":4821}
127.0.0.1 - alice [20/Oct/2026:13:55:38 +0000] "POST /api/orders HTTP/1.1" 502 187 "-" "curl/8.5.0"
2026-10-20 13:55:40,512 ERROR [order-service] Unhandled exception while submitting order
java.lang.IllegalStateException: gateway timeout
at com.acme.Order.submit(Order.java:42)
Caused by: java.net.SocketTimeoutException: Read timed out
at com.acme.Gateway.call(Gateway.java:77)
2026-10-20T13:55:41.900Z WARN [gateway] retry scheduled attempt=2 order_id=A-1042Cara menggunakan
- Tempel potongan log atau buka berkas .log / .txt lokal. Penguraian langsung berjalan — tidak ada tombol Jalankan — dan setiap baris diperiksa sebagai JSON, logfmt, akses web, syslog, lalu teks yang diawali stempel waktu atau level, dalam urutan itu.
- Baca ringkasannya lebih dulu: rentang waktu, hitungan level, pengecualian, format terdeteksi, dan kunci bidang yang paling sering muncul. Ringkasan selalu mencakup semua peristiwa.
- Klik chip level atau ketik di kotak pencarian untuk mempersempit daftar; keduanya digabung. Klik baris mana pun untuk membuka pesan lengkap, semua bidang, stack pengecualian, dan baris aslinya, lalu salin atau unduh peristiwa yang tersaring sebagai JSON.
Contoh
Log mentah
2026-10-20T13:55:36.123Z INFO [gateway] request received path=/api/orders user_id=4821
{"@timestamp":"2026-10-20T13:55:37.004Z","level":"error","service":"payment","message":"Charge failed","order_id":"A-1042","user_id":4821}
127.0.0.1 - alice [20/Oct/2026:13:55:38 +0000] "POST /api/orders HTTP/1.1" 502 187 "-" "curl/8.5.0"
2026-10-20 13:55:40,512 ERROR [order-service] Unhandled exception
java.lang.IllegalStateException: gateway timeout
at com.acme.Order.submit(Order.java:42)Ringkasan terurai
Peristiwa: 4 · Baris: 6 Rentang waktu: 2026-10-20T13:55:36.123Z → 2026-10-20T13:55:40.512 (zona campuran) Level: info 1 · galat 3 Pengecualian: 1 Format: JSON 1 · Web 1 · Teks 2 Bidang: path 2 · user_id 2 · bytes 1 · client 1 · method 1 · order_id 1 · protocol 1 · status 1
Baris JSON adalah satu peristiwa; baris kelas Java dan stack-nya adalah baris lanjutan dari peristiwa ERROR di atasnya. Baris teks tanpa zona dibandingkan sebagai waktu jam literal, itulah sebabnya rentangnya disebut zona campuran. HTTP 502 dihitung sebagai galat; kode statusnya tetap terlihat sebagai level asli.
Aturan, batasan, dan masalah yang diketahui
- Deteksi dilakukan baris demi baris dan berurutan: JSON (satu objek per baris), logfmt (minimal dua pasangan key=value), log akses Apache/Nginx common atau combined, syslog RFC 5424/3164, lalu teks yang barisnya diawali stempel waktu atau level yang didukung. Selain itu disimpan sebagai peristiwa biasa — tidak ada baris yang dibuang.
- Hanya stempel waktu yang tidak ambigu yang dinormalkan: ISO 8601, tanggal dengan tahun di depan, waktu log akses Apache, dan detik atau milidetik Unix. 03/04/2026, nilai tanggal saja, dan syslog tanpa tahun mempertahankan teks aslinya dan tidak punya waktu ternormalisasi.
- Pecahan detik dipotong hingga milidetik, tidak pernah dibulatkan. Offset dipertahankan; waktu tanpa offset dibandingkan sebagai waktu jam literal dan ringkasannya menyebut tanpa zona atau zona campuran.
- Level diambil dari kosakata tetap (kata Inggris serta Tionghoa dan Arab), angka pino/bunyan, PRI/severity syslog, atau status HTTP (5xx galat, 4xx peringatan, sisanya info). Baris tanpa level yang dikenali dianggap tidak dikenal, bukan info.
- Baris menjorok, frame stack, Traceback, Exception in thread, dan baris Caused by menempel pada peristiwa sebelumnya; baris kosong mengakhiri stack. Ini heuristik — format multi-baris yang tidak didukung mungkin perlu baris kosong di antara catatan.
- Pengecualian dikenali dari nama kelas yang berakhiran Exception, Error, atau Throwable. Caused by terdalam yang menang. Frame tidak diurai, akar masalah tidak diperingkat lebih jauh, dan tidak ada layanan AI yang dipanggil.
- Daftar merender paling banyak 200 peristiwa yang cocok. Hitungan, ringkasan, salin, dan unduh selalu mencakup semua kecocokan, dan daftar memberi tahu bila terpotong.
- Batas masukan keras: 5.000.000 karakter. Di atas 500.000 karakter penguraian tetap berjalan, dengan jeda lebih lama. Satu baris yang lebih panjang dari 200.000 karakter disimpan sebagai teks biasa.
- Larik JSON dan JSON multi-baris yang dirapikan tidak didukung: hanya satu objek per baris. JSON tidak valid, komentar, dan koma di akhir jatuh ke teks biasa, bukan diperbaiki.
- Tidak ada yang diunggah, disimpan, atau dimasukkan ke URL. Berkas dibaca secara lokal dengan File API peramban, dan penyalinan/unduhan hanya terjadi saat Anda menekan tombol.
Alat terkait
Setelah log tersusun, ini langkah berikutnya yang biasa.