Skip to main content
Pilih apa yang dikirim aplikasi Anda sebelum mengaktifkan perekaman. Jauhkan kata sandi, token akses, isi formulir, dan data pribadi pengguna dari peristiwa. Susun setiap peristiwa dari kolom yang disetujui. Jangan salin seluruh objek permintaan, respons, atau error ke metadata. Penyamaran mengganti nilai sensitif. Filter membuang satu peristiwa secara utuh. Peristiwa SDK yang valid tetap bisa berisi data yang tidak boleh dikirim aplikasi Anda. Panduan ini berlaku untuk versi paket berikut:
  • @logbrew/sdk 0.1.28
  • @logbrew/node 0.1.12
  • @logbrew/browser 0.1.11
Untuk runtime lain, baca panduan paketnya di Integrasi SDK.

Pilih kolom untuk direkam

Untuk checkout yang gagal, rekam pesan tetap, template rute, dan kode status. Jangan rekam nama, alamat email, atau data pembayaran. Untuk konteks pengguna dan sesi, lihat Perekaman peristiwa produk. ID tetap bisa mengidentifikasi seseorang meskipun tidak berisi nama.

Uji pemilihan kolom secara lokal

Gunakan Node.js 18 atau yang lebih baru. Di direktori kosong, instal paket:
Pengujian ini tidak memakai kunci asli dan tidak mengirim permintaan. Simpan sebagai safe-capture.mjs:
Jalankan pengujian:
Output yang diharapkan:
Asersi yang gagal mencetak "ok":false dan keluar dengan kode 1. Error validasi SDK mencetak kode error SDK-nya. Jangan cetak atau unggah pratinjau yang berisi data asli. Gunakan pola yang sama di kode perekaman Anda, dan pertahankan asersi itu di pengujian Anda. Tambahkan pemeriksaan untuk setiap kolom dan nilai yang tidak boleh dikirim aplikasi Anda. Jika Anda memakai penyamaran berbasis pola, jalankan lagi pemeriksaan setelah setiap perubahan aturan. Pengujian ini memeriksa satu log dalam antrean. Pengujian ini tidak menggantikan tinjauan privasi.

Pesan error dan stack

options.message kustom tidak menghapus metadata.errorMessage. Periksa seluruh peristiwa, bukan hanya judulnya. Jauhkan nilai sensitif dari pesan error sejak di sumbernya.

Gunakan setiap kontrol dalam lingkupnya

Core JavaScript dan Node.js

LogBrewClient.create menerima eventFilter. Kembalikan false agar peristiwa tidak masuk ke antrean. Nilai kembalian lain mempertahankan peristiwa. Filter menerima salinan peristiwa, jadi mengubah salinan itu tidak menyamarkan apa pun. createLogBrewNodeClient dan createLogBrewBrowserClient tidak menerapkan eventFilter di versi ini. droppedEvents() menghitung peristiwa yang dibuang karena batas ukuran atau batas antrean. Fungsi ini tidak menghitung peristiwa yang disaring eventFilter. Klien Node menambahkan konteks runtime, seperti versi Node, sistem operasi, dan arsitektur. Atur captureRuntimeContext: false untuk menghilangkannya. Pengaturan ini tidak menghapus konteks yang diberikan aplikasi Anda, dan tidak menghentikan perekaman.

Browser

Secara default, klien browser merekam error global, rejection yang tidak ditangani, dan satu tayangan halaman awal. Atur captureGlobalErrors, captureUnhandledRejections, atau capturePageViews ke false untuk mematikan salah satunya. Tayangan halaman menyertakan pathname. String kueri, fragmen, judul dokumen, dan user agent lengkap tidak disertakan, kecuali Anda mengatur includeQueryString, includeHash, includeDocumentTitle, atau includeUserAgent. Jika pathname bisa berisi nilai pribadi, matikan tayangan halaman otomatis dan kirim tayangan halaman Anda sendiri dengan nama rute yang aman. sanitizeMetadata hanya mengubah metadata. Fungsi ini tidak mengubah nama tayangan halaman atau nama aksi. Nama tayangan halaman berisi pathname konkret, seperti page_view /orders/1234. routeTemplate di metadata menentukan halaman atau layar di Analitik, tetapi tidak mengubah nama. shouldCaptureError hanya menyaring masalah browser. Opsi ini tidak memfilter log atau sinyal lain. Atur captureRuntimeContext: false untuk menghilangkan merek browser, platform, dan keluarga perangkat. Pengaturan ini tidak mengendalikan includeUserAgent.

Sebelum perekaman sungguhan

Uji setiap jalur perekaman yang aktif dengan data sintetis, termasuk jalur error dan integrasi logging. Perubahan perekaman hanya berlaku untuk peristiwa baru. purgePendingEvents() mengosongkan antrean lokal yang sedang tidak aktif, dan gagal saat pengiriman sedang berjalan. Fungsi ini tidak menghentikan perekaman berikutnya dan tidak menghapus peristiwa yang sudah diterima LogBrew. uninstall() di browser menghapus listener, tetapi peristiwa dalam antrean tetap ada. Metode ini bukan alur persetujuan atau penghapusan data. Lalu kirim satu peristiwa sintetis dengan panduan Mulai cepat. Jika peristiwa itu tidak muncul, lihat Mengatasi kendala. Untuk error HTTP, lihat Error API.