- Instal paket SDK untuk runtime Anda.
- Simpan kunci ingest khusus proyek di luar source control.
- Atur nilai layanan, lingkungan, dan rilis yang stabil.
- Kirim satu peristiwa uji yang aman dari aplikasi.
- Baca hasil pengiriman. Lalu temukan peristiwa itu di LogBrew.
Sinyal dan konteks bersama
Lima kartu pertama adalah sinyal. Rilis dan lingkungan adalah konteks untuk sinyal tersebut. Keduanya bukan jenis peristiwa tersendiri.log
Pesan terstruktur dengan tingkat keparahan, sumber, waktu, dan konteks yang aman.
trace_span
Satu operasi yang diukur waktunya, terhubung ke trace-nya melalui ID trace dan ID span.
issue
Kegagalan yang terekam, tingkat keparahannya, dan detail error yang dikirim aplikasi.
action
Aksi di aplikasi Anda, dengan subjek, sesi, dan properti aman yang opsional.
metric
Satu pengukuran numerik dengan nama, jenis, nilai, satuan, dan temporalitas.
rilis dan lingkungan
Versi kode dan lingkungan yang dilampirkan ke peristiwa berikutnya dalam lingkup SDK yang sama.
Nilai tingkat keparahan
Gunakaninfo, warning, error, atau critical untuk log dan masalah. SDK
dan runtime dapat mengirim alias seperti trace, debug, warn, atau
fatal. LogBrew menormalkan alias yang diterima ke nilai kanonis.
Instalasi lewat package manager
Instal paket SDK untuk runtime yang mengirim telemetri. Gunakan konfigurasi SDK atau ingest khusus proyek dari LogBrew. Jangan gunakan nilai login akun sebagai konfigurasi SDK.Pelacakan permintaan Node.js
Untuk korelasi trace dengan root span di tingkat permintaan, gunakan@logbrew/sdk 0.1.16 atau yang lebih baru dan @logbrew/node 0.1.11 atau
yang lebih baru.
Express memerlukan @logbrew/express 0.1.5 atau yang lebih baru. Fastify dan
NestJS memerlukan paket LogBrew masing-masing versi 0.1.6 atau yang lebih
baru.
Integrasi ini membuat atau melanjutkan satu span permintaan. Nama span memakai
template rute yang cocok. Log, masalah, aksi, dan metrik di dalam permintaan
mewarisi konteks trace dan span-nya. Paket yang lebih baru tidak menambahkan
konteks ke peristiwa yang dikirim sebelum upgrade.
Integrasi permintaan default tidak merekam body permintaan atau respons, string
kueri, header sembarang, atau nilai traceparent mentah.
ASP.NET Core
CLI v0.1.55 atau yang lebih baru mendeteksi proyek .NET 10 yang memakaiMicrosoft.NET.Sdk.Web. Lihat pratinjau rencana penyiapan dari root proyek.
Perintah ini tidak mengubah file Anda:
LOGBREW_SERVER_API_KEY, LOGBREW_SERVICE_NAME,
LOGBREW_ENVIRONMENT, dan LOGBREW_RELEASE di luar source control.
Daftarkan LogBrew ke host dan letakkan middleware-nya setelah routing:
LOGBREW_SERVER_API_KEY, kedua panggilan pendaftaran aman dan tidak
melakukan apa pun.
Paket NuGet ASP.NET Core
menunjukkan integrasi host yang sudah dirilis. Panduan paket publiknya membahas
siklus hidup host, perekaman permintaan, perekaman masalah, batas privasi, dan
pemulihan.
Java dengan Maven atau Gradle
CLI v0.1.54 atau yang lebih baru mendeteksipom.xml, build.gradle, dan
build.gradle.kts. Lihat pratinjau rencana penyiapan dari root proyek.
Perintah ini tidak mengubah file Anda:
LogBrewClient milik
aplikasi. Bean ini mengaktifkan integrasi opsional untuk permintaan,
exception, klien HTTP, JDBC, dan cache.
Perekaman Spring Kafka harus diaktifkan secara eksplisit dengan
logbrew.kafka.enabled=true. Perekaman ini memakai dependensi Spring Kafka
dan bean klien yang sudah ada di aplikasi.
Artefak Java SDK di Maven Central
menunjukkan paket yang sudah dirilis. Panduan publiknya membahas pengiriman HTTP
yang dibatasi, shutdown, logging, konfigurasi Spring, korelasi Kafka, dan
batas privasi.
C++ dengan CMake
SDK C++ memerlukan C++17 dan CMake 3.16 atau yang lebih baru. CLI v0.1.39 atau yang lebih baru mendeteksiCMakeLists.txt di root. Jalankan
logbrew setup --json untuk melihat pratinjau rencana penyiapan ini tanpa
mengubah file Anda:
FetchContent_MakeAvailable terakhir
dan target link di atas dengan:
logbrew-cpp-0.2.3.tar.gz dari
rilis C++ 0.2.3.
Paket yang sudah diekstrak mendukung cmake --install dan
find_package(LogBrew 0.2.3 CONFIG REQUIRED). Panduan paketnya membahas
konteks bertipe, bukti masalah, peristiwa span, metrik, aksi, dan pengiriman
HTTP.
Source map JavaScript
Untuk build Vite, ikuti Source map JavaScript. Panduan itu membahas plugin, kunci artefak, pemeriksaan unggahan, dan masalah baru dengan lokasi sumber asli.Apple, Flask, dan React Native
Gunakan produk SwiftLogBrew untuk telemetri. Tambahkan LogBrewCrash hanya
untuk merekam crash atau hang Apple. Ikuti panduan
Crash dan hang Apple untuk unggahan
dSYM dan simbolikasi yang di-host.
Untuk Flask, ikuti panduan Flask.
Untuk React Native dan Expo, ikuti panduan React Native.
Panduan itu membahas kunci proyek, log uji yang aman, error pengiriman, dan
konfigurasi Expo Metro untuk source map produksi.
Pelacakan antrean JavaScript
Integrasi antrean Node adalah paket npm terpisah. Instal paket JavaScript dasar LogBrew, paket integrasi, dan klien antrean atau broker yang sudah dipakai aplikasi Anda.
Gunakan paket ini untuk korelasi trace yang eksplisit dan dikendalikan
aplikasi di sekitar panggilan antrean yang Anda pilih. Secara default, LogBrew
tidak mengambil alih koneksi broker Anda, tidak membuat antrean, dan tidak
mem-patch setiap klien secara global.
Envelope native langsung
GunakanPOST /api/telemetry/ingest hanya untuk klien kustom yang tidak
didukung SDK LogBrew publik mana pun. SDK publik memakai format batch-nya
sendiri. Endpoint ini tidak menerima format tersebut.
Kirim 1 sampai 512 item dalam satu envelope native. Semua item dalam satu
envelope berbagi proyek, layanan, rilis, lingkungan, dan konteks trace
opsional yang sama.
Kolom item
Setiap item memilikitype dan objek data. Item log memakai level. Item
masalah memakai severity. Keduanya menerima nilai di
Nilai tingkat keparahan.
Kirim
id untuk setiap item jika klien Anda dapat mencoba lagi.
Jika percobaan ulang mengirim lagi item yang sudah diterima dengan id dan
isi yang sama, LogBrew tidak menyimpannya lagi. Respons menghitung item itu di
already_accepted.
Contoh permintaan
Simpan JSON di bawah sebagaitelemetry-envelope.json. Ganti contoh ID proyek
dengan ID proyek yang persis untuk kunci ingest Anda. Atur stempel waktu ke
waktu UTC saat ini untuk peristiwa uji. Gunakan nilai layanan dan rilis Anda
sendiri.
telemetry-envelope.json
LOGBREW_INGEST_BEARER melalui
konfigurasi Anda yang terlindungi. Jangan mencetaknya dan jangan memakai
kredensial akun. Perintah berikut mengirim file satu kali. Perintah ini
memerlukan curl 7.76.0 atau yang lebih baru:
--fail-with-body mempertahankan body error
dan mengembalikan status keluar bukan nol untuk error HTTP. Kegagalan jaringan
atau timeout tidak memberi tahu Anda apakah LogBrew menerima permintaan. Kirim
file yang sama lagi hanya jika item-itemnya memiliki nilai id. Tanpa nilai
id, pengiriman kedua dapat menyimpan item dua kali.
Respons
Permintaan yang berhasil mengembalikan200 dengan jumlah item baru per
stream. already_accepted menghitung item yang sudah dikirim oleh permintaan
sebelumnya.
Error
Kunci ingest yang tidak valid atau sudah dicabut mengembalikan401. Kunci
untuk proyek lain juga mengembalikan 401:
422 dengan kode
validation_failed. Kolom error menyebutkan aturannya. Kolom next
menjelaskan cara memperbaiki permintaan. Misalnya, "items": []
mengembalikan:
422 dengan error
native telemetry envelope exceeds the item limit. Pecah menjadi beberapa
batch berisi maksimal 512 item. Pertahankan proyek dan konteks bersama di
setiap batch.
Untuk batas penggunaan, batas laju, dan kegagalan layanan, ikuti code yang
dikembalikan di Error API.
