JSON & log aplikasi Baru
Menghubungkan Log Aplikasi ke Excel, Spreadsheet, dan AI
Log aplikasi Anda, jejak tumpukan (stack trace) masih terlampir. Baris JSON dari ECS, Serilog, pino, atau Bunyan. Biasa saja. stempel waktu [TINGKAT] pencatat: pesan teks, di mana jejak tumpukan (stack trace) sepanjang empat puluh baris tetap terhubung ke baris yang memunculkannya, alih-alih menjadi empat puluh baris yang tidak berguna. Dan, pada Debian dan Ubuntu, dua log yang mencatat apa yang berubah pada sistem.
Folder log Anda akan berubah menjadi tabel yang dapat Anda gunakan untuk mengelompokkan data.
Bukan grep, dan bukan tumpukan log. Query Streams membaca file yang sudah ditulis aplikasi Anda, menetapkan formatnya, dan memberi Anda kolom bertipe — sehingga "logger mana yang paling banyak menimbulkan kesalahan minggu ini" hanya membutuhkan satu kueri, bukan satu sore. Baris yang tidak dapat dibaca oleh parser akan disimpan sebagai baris dengan alasannya, bukan dihilangkan begitu saja.
shopfront-api/app.jsonlJSON
pekerja-toko/aplikasi.logteks
riwayat.logtepatRotasi, arsip terkompresi, dan pembacaan ulang file — ditangani.
PILIH aplikasi, pencatat,
menghitung(*) AS kesalahan
DARI kumpulan file.kejadian
DI MANA level = 'KESALAHAN'
KELOMPOKKAN BERDASARKAN aplikasi, pencatat
PESAN OLEH kesalahan DESCGabungkan dengan basis data aplikasi Anda dalam kueri yang sama.
File-file yang sudah ditulis oleh aplikasi Anda, kini menjadi tabel yang dapat Anda gunakan untuk membuat laporan.
Dua bentuk yang ditulis aplikasi Anda, dua bentuk yang ditulis kotak tersebut.
Setiap kartu menyebutkan file persis yang dibaca oleh Query Streams dan apa yang Anda dapatkan darinya. Anda tidak perlu mengadopsi pustaka pencatatan atau mengubah format agar ini berfungsi — format yang didukung adalah format yang sudah dihasilkan oleh alat-alat ini secara default.
Log aplikasi yang didukung
4 format
Baris JSONECS, Serilog kompak, pino, Bunyan
- Satu objek JSON per baris di
.jsonl,.ndjsonatau*-json.log - Nama kolom ECS dipetakan langsung —
tingkat log.,nama host,nama layanan - Serilog compact, pino dan Bunyan read too: kunci yang sama, ejaan berbeda
- Objek bersarang diratakan menjadi kolom putus-putus; apa pun yang tidak dipetakan akan berada di
data - Lampiran; rotasi bertanggal dan
.gzdiikuti
Catatan tekscap waktu, level, pencatat, pesan
- Bentuk default: stempel, level dalam tanda kurung, pencatat, pesan
- Jejak tumpukan (stack trace) digabungkan dengan baris yang memunculkannya — satu baris, bukan empat puluh.
pada …,Disebabkan oleh:danPenelusuran baliksemuanya dibaca sebagai kelanjutan- Membaca
.log,.keluardan.txtFile JSON dikecualikan berdasarkan deklarasi. - Koma atau titik milidetik; jam lokal dibaca sebagai jam Agen.
dpkglog paket
- Satu baris per langkah pengemasan:
memasang,meningkatkan,menghapus,konfigurasi kemasan,versidanversi barusebagai kolom mereka sendiristatusbaris membawa status dpkg memindahkan paket ke/var/log/dpkg.logdan nomornya.gzrotasi- Tidak ada zona dalam berkas; dibaca sebagai jam lokal Agen.
tepatlog riwayat
- Satu
Kunci: nilaiblok per transaksi, baris kosong di antara blok. - Tepatnya
Baris perintahyang terjadi, dan apa yang diubahnya. Tanggal Mulaiadalah waktu acara;Tanggal Akhirmerupakan kolom tersendiri- Transaksi yang belum selesai akan menunggu daripada dibagi menjadi dua.
/var/log/apt/history.logditambah lagi.gzrotasi
Format log aplikasi dan paket baru ditambahkan dengan setiap rilis Agent. Karena Agent selalu memperbarui diri, format yang ditambahkan belakangan akan muncul di konektor Anda tanpa perlu ada yang menyentuh server.
Log aplikasi Anda dari setiap wilayah, baca di mana letaknya
Satu aplikasi jarang hanya terdiri dari satu server. Sebuah API di satu wilayah cloud, pekerja di wilayah lain, atau sesuatu yang masih berada di komputer di kantor. Setiap lokasi menjalankan Agen Jaringan yang membaca file log di tempat mereka berada dan melakukan panggilan keluar ke Aliran Kueri. Sejauh yang diketahui firewall Anda, itu adalah koneksi keluar biasa — tidak ada yang perlu dibuka, tidak ada VPN yang perlu dibangun, dan tidak ada pustaka pencatatan yang perlu ditambahkan ke aplikasi Anda.
Tiga koneksi keluar, satu tempat untuk menanyakan koneksi tersebut — tanpa port masuk, tanpa VPN, tanpa perubahan firewall.
Satu agen per lokasi
Agent mencakup seluruh lokasi, bukan hanya satu log: baris JSON, log teks, dan riwayat paket di situs tersebut masing-masing menjadi konektor File Set tersendiri pada Agent yang sama. Tingkat gratis menjalankan satu Agent, sedangkan tingkat yang lebih tinggi menjalankan lebih banyak Agent.
1 lokasi = 1 agen = banyak konektor
Tidak ada yang bisa dibuka
Agen tersebut membuat satu koneksi keluar terenkripsi, dan permintaan keluar serta baris data kembali sama-sama melewati koneksi tersebut. Tidak ada port masuk, tidak ada VPN, tidak ada perubahan firewall yang perlu diminta — dan tidak ada yang ditambahkan ke aplikasi Anda agar berfungsi.
satu koneksi, dua arah
Satu kueri lintas wilayah
Setiap sumber dalam sebuah kueri terfederasi Ia menamai agennya sendiri, sehingga satu pernyataan dapat menempatkan kesalahan API di satu wilayah di samping kesalahan pekerja di wilayah lain — atau di samping riwayat paket yang menjelaskan kapan proses dimulai. Termasuk dalam paket Business dan Enterprise.
2 wilayah → 1 set hasil
Mereka selalu memperbarui pengetahuan mereka.
Agen memperbarui diri secara otomatis, sehingga format log yang ditambahkan pada rilis selanjutnya mencapai setiap lokasi tanpa perlu penyebaran sendiri. Itulah yang membuat daftar di atas menjadi titik awal, bukan daftar tetap.
Format baru hadir bersama Agen.
Jejak tumpukan, jam, dan kemiripan
Log aplikasi adalah file paling berantakan di server: satu kejadian dapat mencakup empat puluh baris, dua format yang tidak terkait dapat terlihat identik, dan setengah dari file ini sama sekali tidak mencantumkan zona waktu. Masing-masing hal tersebut ditangani dengan deklarasi, bukan dengan tebakan.
Satu acara, bukan empat puluh baris.
Baris yang tidak diawali dengan stempel waktu termasuk ke baris di atasnya. Itulah mengapa jejak tumpukan tetap terhubung dengan pesan yang memunculkannya, alih-alih terpecah menjadi puluhan fragmen yang tidak lagi relevan. KELOMPOKKAN BERDASARKAN bisa dipasang kembali.
garis lanjutan → terhubung, hingga 200
Dua batang kayu yang tampak serupa
Baris aplikasi JSON, amplop Docker, dan baris akses JSON server web semuanya adalah "JSON dengan stempel waktu di dalamnya". Formatnya ditentukan oleh isi baris tersebut, sehingga masing-masing akan berada di profilnya sendiri — tidak pernah dengan bercabang berdasarkan nama file.
Isi file yang menentukan, bukan nama file.
Jam tanpa zona waktu
Log teks, dpkg, dan apt semuanya menulis waktu lokal host tanpa offset yang terlampir. Alih-alih menebak, profil tersebut menyatakan bahwa stempel waktu tersebut bersifat lokal dan membacanya sebagai zona waktu Agen — dan string asli tetap disimpan di kolomnya sendiri dalam kondisi apa pun.
jam lokal → dinyatakan, tidak pernah disimpulkan
Transaksi masih berlangsung.
apt menulis awal pembaruan segera dan baris akhirnya hanya ketika dpkg selesai, yang bisa memakan waktu beberapa menit kemudian. Blok yang belum ditutup akan menunggu, alih-alih dipotong menjadi dua dan muncul sebagai peristiwa tanpa awal.
menunggu hingga Tanggal Akhir, maksimal 30 menit
- waktu_acara
- 2026-09-08 14:02:11.431
- tingkat
- KESALAHAN
- pencatat
- Klien Pembayaran
- pesan
- Pengisian daya gagal ↵ java.net.SocketTimeoutException: Waktu baca habis ↵ pada …
Kolom yang sebenarnya Anda dapatkan
Bukan sekadar gumpalan teks dengan stempel waktu di sampingnya. Setiap format diuraikan menjadi kolom bertipe yang dapat Anda filter, kelompokkan, dan agregatkan secara langsung — dan jika aplikasi Anda mencatat JSON terstruktur, bidang-bidangnya sendiri juga akan diuraikan menjadi kolom.
Setiap baris juga membawa waktu_acara, stempel mentah tempat data dibaca, dan file asalnya. Log aplikasi Anda diidentifikasi oleh aplikasi dan dua log paket oleh tuan rumah — keduanya diambil dari folder tempat file berada, jadi satu folder per layanan atau per mesin memberi Anda kolom yang bersih untuk dikelompokkan. Log teks tiga kolom ini disengaja: daripada menebak kolom yang tidak selalu ada dalam pesan bebas, pesan tersebut disimpan utuh, dengan jejak tumpukan (stack trace) di dalamnya.
Ke mana data log aplikasi Anda dapat dikirim?
Berkas log bukanlah jalan buntu. Hubungkan folder sekali saja dan koneksi baca-saja yang sama akan memberi daya pada setiap antarmuka yang didukung Query Streams — tidak perlu pengaturan kedua, tidak perlu salinan data kedua, dan tidak ada perbedaan perlakuan dari konektor basis data.
Log aplikasi ke Excel
Microsoft Excel · Add-in Excel
Ambil hasil log aplikasi secara langsung ke dalam lembar kerja dan perbarui sesuai kebutuhan — Excel desktop, Excel Online, Microsoft 365.
Cara kerja ExcelLog aplikasi ke Google Sheets
Tambahan lembar
Jalankan kueri log aplikasi yang tersimpan dari bilah sisi dan seret baris ke dalam lembar kerja. Kolaborator yang berbagi dapat memperbaruinya sendiri.
Cara kerja Google SheetsLog aplikasi server MCP
Klien Claude, Cursor, dan MCP · Server MCP
Berikan akses baca saja kepada asisten AI ke log aplikasi beserta skema yang dibutuhkannya untuk menulis SQL yang benar — tanpa kredensial di dalam obrolan.
Cara kerja MCPAPI REST log aplikasi
Titik akhir HTTP
Publikasikan kueri log aplikasi sebagai titik akhir JSON terautentikasi yang dapat dipanggil oleh aplikasi apa pun, dengan spesifikasi OpenAPI 3.1 dan koleksi siap pakai untuk Postman, Insomnia, dan Hoppscotch. Tidak ada port basis data yang dibuka.
Cara kerja REST APILog aplikasi ke Airtable
Platform otomatisasi
Sinkronkan baris log aplikasi ke dalam basis data Airtable sesuai jadwal, atau ambil data tersebut di dalam skrip otomatisasi Airtable.
Cara kerja AirtableLog aplikasi ke Baserow
Platform otomatisasi
Mengisi tabel Baserow dari log aplikasi melalui endpoint REST — baik yang dihosting sendiri maupun di cloud Baserow.
Cara kerja BaserowLog aplikasi ke SeaTable
Platform otomatisasi
Jaga agar basis data SeaTable selalu mutakhir dengan data log aplikasi tanpa mengekspor file atau mengekspos basis data.
Cara kerja SeaTableLog aplikasi ke Smartsheet
Platform otomatisasi
Masukkan hasil log aplikasi ke dalam tabel Smartsheet sehingga rencana dan laporan dibaca dari sistem sumber, bukan dari ekspor minggu lalu.
Cara kerja SmartsheetLog aplikasi ke Anvil
Anvil Works · Platform aplikasi
Dukung aplikasi Python Anvil dengan log aplikasi melalui endpoint REST, alih-alih menyematkan kredensial basis data di dalam aplikasi.
Cara kerja AnvilLog aplikasi ke Power BI
Power Query M
Tempelkan Power Query M yang dihasilkan ke dalam Power BI Advanced Editor dan laporan akan membaca hasil log aplikasi secara langsung melalui HTTPS — tanpa driver ODBC, tanpa port basis data yang dibuka.
Cara kerja Power BILog aplikasi, peringatan, dan laporan.
Slack · Discord · Email · Webhook
Atur jadwal untuk menjalankan kueri log aplikasi dan kirimkan baris-baris data ke Slack, Discord, email, atau webhook yang ditandatangani — atau tahan pesan hingga jumlah baris, ambang batas, atau perubahan persentase melampaui batas yang Anda tetapkan.
Cara kerja peringatan dan laporanApa yang sengaja tidak dilakukan oleh hal ini
Ini bukan live tail. Query Streams membaca file sebagaimana adanya di disk saat Anda menjalankan kueri, sehingga lonjakan kesalahan muncul sebagai baris, bukan sebagai aliran yang Anda pantau. Jika Anda membutuhkan peringatan di bawah satu detik pada sebuah baris saat dicetak, pipeline log adalah alat yang tepat dan kami akan mengatakannya.
Log aplikasi Anda berisi apa pun yang dicetak oleh aplikasi Anda, dan perlu ditegaskan dengan jelas: jika mencatat token, email pelanggan, atau isi permintaan lengkap, string tersebut sudah ada dalam file dan akan ada di kolom juga. Tidak ada pemetaan kolom untuk mengecualikan seperti yang ada pada log server web. Perlakukan tabel hasil dengan kehati-hatian yang sama seperti Anda memperlakukan file tersebut.
Sebagian dari apa yang dapat direkam oleh log paket dikenali berdasarkan bentuknya, bukan dibuktikan melalui tangkapan. dpkg mendokumentasikan baris file konfigurasi dan membersihkan dan menghilang tindakan; dokumen yang tepat Diminta Oleh, Kesalahan, Membersihkan, Instal ulang dan Penurunan peringkatTidak satu pun dari hal tersebut muncul dalam log yang digunakan untuk membangun profil ini, jadi hal tersebut hanya dideklarasikan, bukan didemonstrasikan — dan tidak ada log paket yang mencakup distribusi berbasis RPM atau Windows.
Satu detail pengaturan, bukan batasan: kolom identitas berasal dari folder tempat file berada di bawah folder yang Anda tunjuk. Arahkan konektor ke direktori yang berisi satu subfolder per layanan atau per mesin dan Anda akan mendapatkan nama yang berguna secara gratis; arahkan langsung ke direktori file yang terpisah dan setiap baris akan diberi nama sesuai dengan direktori tersebut. Hanya perlu meluangkan waktu tiga puluh detik untuk mengaturnya.
Selebihnya mengikuti desain yang biasa. Agen terhubung keluar dan membaca file; tidak ada yang diinstal bersama aplikasi Anda, tidak ada yang ditulis kembali, tidak ada proses yang dilampirkan atau diinstrumentasi, dan aksesnya hanya baca.
Cara kerjanya
Tiga langkah, dan tidak ada perubahan pada cara aplikasi Anda mencatat log.
Arahkan kursor ke folder log.
Berikan akses baca kepada Query Streams Agent ke tempat log sudah tersimpan — folder di samping aplikasi Anda, folder bersama tempat Anda mengumpulkannya, atau /var/log untuk riwayat paket.
Sistem mengenali format tersebut.
Query Streams mengidentifikasi format dari isi baris, bukan nama file — jadi salinan yang namanya diubah tetap dapat dibaca, dan file yang tidak sesuai dengan format yang ditetapkan akan diblokir dengan alasan tertentu, alih-alih merusak tabel.
Lakukan query, atau gabungkan
Jalankan SQL dari portal, terapkan langsung di Microsoft Excel atau Google Sheets, atau gunakan kueri gabungan untuk menggabungkan log kesalahan Anda dengan pesanan dan pengguna di basis data aplikasi Anda — dalam satu pernyataan.
Pertanyaan yang Sering Diajukan (FAQ) tentang Log Aplikasi
Pustaka logging mana yang perlu saya gunakan?
Tidak ada yang khusus. Jika Anda menulis baris JSON, nama bidang Elastic Common Schema akan langsung terpetakan, dan format ringkas Serilog, pino, dan Bunyan juga dapat dibaca karena menggunakan kunci tingkat atas yang sama dengan ejaan yang berbeda — stempel waktu diambil dari salah satu nama umum yang sebenarnya terdapat pada baris Anda.
Jika Anda menulis teks biasa, yang biasa stempel waktu [TINGKAT] pencatat: pesan Shape adalah format yang didukung dengan sendirinya. Tidak ada yang perlu diadopsi dan tidak ada yang perlu dikonfigurasi ulang.
Apa sebenarnya yang terjadi pada stack trace?
Ia tetap pada kesalahan yang menyebabkannya. Sebuah catatan dimulai pada baris yang diawali dengan stempel waktu, dan setiap baris berikutnya yang tidak diawali dengan stempel waktu diperlakukan sebagai kelanjutan dari baris tersebut — yang persis sama dengan bentuk jejak Java, .NET, atau Python. Kelas pengecualian, pada … bingkai, sebuah Disebabkan oleh: rantai dan ular piton Penelusuran balik Semua header dikenali sebagai bagian dari baris di atasnya.
Perbedaan praktisnya adalah menghitung kesalahan memang menghitung kesalahan. Tanpa ini, satu pengecualian akan memperbesar angka Anda sebanyak jumlah frame yang kebetulan dicetak, dan pesan yang sebenarnya ingin Anda baca berada di baris yang berbeda dari nama kelas.
Mengapa dpkg dan apt ada bersama log aplikasi?
Karena log tersebut menjawab pertanyaan yang Anda ajukan segera setelah "kapan ini mulai gagal?" — yaitu "apa yang berubah?". Log tersebut adalah log milik pengelola paket, berada di struktur folder yang sama, dibaca dengan cara yang sama, dan merupakan tetangga paling berguna yang dimiliki log kesalahan.
Riwayat apt mudah dibaca: satu blok per transaksi dengan perintah persis yang dijalankan dan apa yang diinstal, ditingkatkan, atau dihapus. Log dpkg lebih detail, satu baris per langkah paket. Di antara keduanya, Anda dapat menambahkan tanggal pada perubahan daripada mencoba mengingatnya.
Bisakah saya menghubungkan kesalahan saya dengan pembaruan yang menyebabkannya?
Ya, dengan satu hal yang perlu diketahui: konektor membaca satu format, jadi log aplikasi Anda dan /var/log/apt/history.log Terdapat dua konektor, bukan satu. Kueri terfederasi menggabungkannya dalam satu pernyataan, mekanisme yang sama yang menggabungkan log ke basis data produksi.
Itulah kueri yang layak dikembangkan dalam keluarga ini — kesalahan per jam di samping transaksi yang berjalan pada hari itu, keduanya dibaca dari file yang tidak perlu dikirim ke mana pun.
Apakah ini waktu nyata?
Ini berbasis permintaan (on-demand) dan bukan streaming. File dibaca saat kueri dijalankan, sehingga baris baru muncul saat aplikasi Anda menuliskannya dan file diambil — bukan berdasarkan jadwal tetap setiap malam, tetapi juga bukan pembacaan terus-menerus (live tail).
Untuk menanyakan pertanyaan beberapa minggu terakhir dan memasukkan jawabannya ke dalam spreadsheet atau laporan terjadwal, bentuk ini sangat berguna dan membutuhkan lebih sedikit mesin daripada tumpukan kayu gelondongan.
Log saya memiliki kolom yang belum Anda cantumkan. Apakah kolom-kolom tersebut hilang?
Tidak. Pada format JSON dan apt, apa pun yang tidak dipetakan ke kolom bernama akan disimpan di dalam sebuah data Kolom tersebut tidak dibuang, sehingga ID permintaan, penyewa, atau durasi yang Anda catat masih dapat dicari. Objek bersarang diratakan menjadi nama bertitik saat dimasukkan.
Baris yang sama sekali tidak sesuai dengan format yang disematkan juga tetap disimpan — sebagai baris mentah dengan alasan yang terlampir, sehingga perubahan format yang tidak terduga akan terlihat dan bukan sebagai celah tersembunyi dalam angka Anda.
Bagaimana dengan sejarah paket Red Hat, Fedora, atau Alpine?
Tidak ada profil untuk dnf, enak atau apk Saat ini, tidak ada padanan untuk Windows. Dua format paket di sini adalah log dari dpkg dan history dari apt, yang mencakup Debian dan Ubuntu.
Log aplikasi Anda sendiri tidak terpengaruh oleh hal itu — format JSON dan teks tidak mempermasalahkan distribusi tempat log tersebut berada. Dan jika Anda tidak yakin folder Anda akan dikenali sebagai apa, laporan uji koneksi akan menunjukkan apa yang ditemukan sebelum Anda melakukan perubahan apa pun.
Aplikasi Anda sudah menuliskannya.
Hubungkan folder log dan jalankan kueri pertama Anda terhadapnya dalam beberapa menit. Tingkat gratis, tanpa kartu kredit, tanpa perubahan pada cara Anda melakukan pencatatan log.
Hanya baca · koneksi keluar saja · log Anda tetap berada di server Anda












