Skip to main content
Instal paket SDK LogBrew untuk runtime Anda. SDK memformat peristiwa dan mengirimkannya. Panduan paket mencantumkan jenis peristiwa, batas, dan perilaku percobaan ulangnya. Lakukan langkah berikut untuk setiap integrasi:
  1. Instal paket SDK untuk runtime Anda.
  2. Simpan kunci ingest khusus proyek di luar source control.
  3. Atur nilai layanan, lingkungan, dan rilis yang stabil.
  4. Kirim satu peristiwa uji yang aman dari aplikasi.
  5. Baca hasil pengiriman. Lalu temukan peristiwa itu di LogBrew.
Batch yang diterima berarti batch itu sudah sampai ke API LogBrew. Filter masih dapat menyembunyikan peristiwanya. Pilih proyek dan rentang waktu yang benar. Lalu cocokkan layanan, lingkungan, rilis, dan jenis sinyal. Sebelum mengaktifkan perekaman, pilih dan uji kolom yang disetujui. Untuk mengisi Analitik, ikuti Perekaman peristiwa produk.

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

Gunakan info, 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 memakai Microsoft.NET.Sdk.Web. Lihat pratinjau rencana penyiapan dari root proyek. Perintah ini tidak mengubah file Anda:
Rencana untuk paket yang sudah dirilis menginstal integrasi host:
Atur 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:
Tanpa 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 mendeteksi pom.xml, build.gradle, dan build.gradle.kts. Lihat pratinjau rencana penyiapan dari root proyek. Perintah ini tidak mengubah file Anda:
Untuk Maven, tambahkan paket yang sudah dirilis:
Untuk Gradle Kotlin DSL, tambahkan artefak Maven Central yang sama:
Gunakan Java 11 atau yang lebih baru. Aplikasi Spring Boot 3 dan 4 dapat mengekspos bean 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 mendeteksi CMakeLists.txt di root. Jalankan logbrew setup --json untuk melihat pratinjau rencana penyiapan ini tanpa mengubah file Anda:
Target inti tidak memiliki dependensi. Untuk mengirim batch melalui transport libcurl yang opsional, ganti panggilan FetchContent_MakeAvailable terakhir dan target link di atas dengan:
Konfigurasikan aplikasi. Lalu build aplikasi untuk menguji versi SDK yang dipilih:
Untuk build yang tidak dapat mengambil monorepo SDK, gunakan aset khusus 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 Swift LogBrew 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.
Jangan masukkan payload antrean, header pesan sembarang, URL broker, serta nilai bearer sesi atau akun ke konfigurasi SDK. Gunakan konfigurasi ingest server khusus proyek dari LogBrew.

Envelope native langsung

Gunakan POST /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 memiliki type 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 sebagai telemetry-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
Muat nilai ingest khusus proyek ke 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:
Baca status HTTP dan body-nya. --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 mengembalikan 200 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 mengembalikan 401. Kunci untuk proyek lain juga mengembalikan 401:
Gunakan kunci ingest khusus proyek. Jangan menggantinya dengan kredensial akun. Kunci artefak tidak dapat mengirim telemetri. Envelope yang melanggar aturan kolom mengembalikan 422 dengan kode validation_failed. Kolom error menyebutkan aturannya. Kolom next menjelaskan cara memperbaiki permintaan. Misalnya, "items": [] mengembalikan:
Jangan kirim envelope jika tidak ada peristiwa. Envelope dengan lebih dari 512 item 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.
Atur rilis dan lingkungan saat penyiapan SDK. Buat atau lanjutkan konteks trace untuk setiap operasi. Jangan pakai ulang satu ID trace untuk pekerjaan yang tidak terkait.