Skip to main content
Yakalamayı açmadan önce uygulamanızın ne göndereceğini seçin. Parolaları, erişim tokenlarını, form içeriklerini ve kullanıcıların özel verilerini olaylardan uzak tutun. Her olayı onaylı alanlardan oluşturun. Bir isteğin, yanıtın veya hata nesnesinin tamamını meta verilere kopyalamayın. Gizleme, hassas bir değerin yerine başka bir değer koyar. Filtre ise olayın tamamını dışarıda bırakır. Geçerli bir SDK olayı bile uygulamanızın göndermemesi gereken veriler içerebilir. Bu rehber şu paket sürümleri için geçerlidir:
  • @logbrew/sdk 0.1.28
  • @logbrew/node 0.1.12
  • @logbrew/browser 0.1.11
Diğer çalışma ortamları için SDK entegrasyonu sayfasından ilgili paket rehberini okuyun.

Yakalanacak alanları seçin

Başarısız bir ödeme için sabit bir mesaj, bir rota şablonu ve bir durum kodu kaydedin. Adları, e-posta adreslerini veya ödeme verilerini kaydetmeyin. Kullanıcı ve oturum bağlamı için Ürün olaylarını yakalama sayfasına bakın. Bir kimlik ad içermese bile bir kişiyi tanımlayabilir.

Alan seçimini yerelde test edin

Node.js 18 veya daha yeni bir sürüm kullanın. Boş bir dizinde paketi kurun:
Bu test gerçek bir anahtar kullanmaz ve istek göndermez. Testi safe-capture.mjs olarak kaydedin:
Testi çalıştırın:
Beklenen çıktı:
Başarısız bir doğrulama "ok":false yazdırır ve 1 koduyla çıkar. Bir SDK doğrulama hatası kendi SDK hata kodunu yazdırır. Gerçek veri içeren bir önizlemeyi yazdırmayın veya yüklemeyin. Aynı kalıbı yakalama kodunuzda kullanın ve doğrulamaları testlerinizde tutun. Uygulamanızın göndermemesi gereken her alan ve değer için bir kontrol ekleyin. Kalıp tabanlı gizleme kullanıyorsanız her kural değişikliğinden sonra kontrolleri yeniden çalıştırın. Bu test kuyruktaki tek bir logu kontrol eder. Gizlilik incelemesinin yerini tutmaz.

Hata mesajları ve yığınlar

Özel bir options.message, metadata.errorMessage alanını kaldırmaz. Yalnızca başlığı değil, olayın tamamını kontrol edin. Hassas değerleri daha kaynağında hata mesajlarının dışında tutun.

Her denetimi kendi kapsamında kullanın

JavaScript çekirdeği ve Node.js

LogBrewClient.create, eventFilter kabul eder. Bir olayı kuyruğa girmeden dışarıda bırakmak için false döndürün. Başka her dönüş değeri olayı tutar. Filtre olayın bir kopyasını alır. Bu yüzden kopyada yaptığınız değişiklikler hiçbir şeyi gizlemez. Bu sürümlerde createLogBrewNodeClient ve createLogBrewBrowserClient, eventFilter uygulamaz. droppedEvents(), boyut veya kuyruk sınırları yüzünden düşürülen olayları sayar. eventFilter ile dışarıda bırakılan olayları saymaz. Node istemcisi Node sürümü, işletim sistemi ve mimari gibi çalışma ortamı bağlamını ekler. Bunu dışarıda bırakmak için captureRuntimeContext: false ayarlayın. Bu ayar uygulamanızın verdiği bağlamı kaldırmaz ve yakalamayı durdurmaz.

Tarayıcı

Tarayıcı istemcisi varsayılan olarak genel hataları, işlenmemiş promise reddetmelerini ve ilk sayfa görüntülemeyi yakalar. Birini kapatmak için captureGlobalErrors, captureUnhandledRejections veya capturePageViews değerini false yapın. Sayfa görüntülemeleri yol adını (pathname) içerir. includeQueryString, includeHash, includeDocumentTitle veya includeUserAgent ayarlamadığınız sürece sorgu dizesini, parçayı, belge başlığını ve tam user agent bilgisini dışarıda bırakır. Yol adı özel değerler içerebiliyorsa otomatik sayfa görüntülemelerini kapatın. Bunun yerine güvenli bir rota adıyla kendi sayfa görüntüleme olayınızı gönderin. sanitizeMetadata yalnızca meta verileri değiştirir. Sayfa görüntüleme veya aksiyon adlarını değiştirmez. Sayfa görüntüleme adı page_view /orders/1234 gibi somut yol adını içerir. Meta verilerdeki routeTemplate, Analizler’de gösterilen yüzeyi belirler ama adı değiştirmez. shouldCaptureError yalnızca tarayıcı sorunlarını dışarıda bırakır. Logları veya diğer sinyalleri filtrelemez. Tarayıcı markasını, platformu ve cihaz ailesini dışarıda bırakmak için captureRuntimeContext: false ayarlayın. Bu ayar includeUserAgent değerini denetlemez.

Gerçek yakalamadan önce

Açık olan her yakalama yolunu, hata yolları ve log entegrasyonları dâhil, sentetik verilerle test edin. Yakalama değişiklikleri yalnızca yeni olaylara uygulanır. purgePendingEvents() boşta bekleyen yerel kuyruğu temizler. Gönderim sürerken başarısız olur. Sonraki yakalamayı durdurmaz ve LogBrew’ün kabul ettiği olayları kaldırmaz. Tarayıcıdaki uninstall() dinleyicileri kaldırır ama kuyruktaki olayları tutar. Bu yöntemler bir onay veya silme süreci değildir. Ardından hızlı başlangıç ile tek bir sentetik olay gönderin. Olay görünmüyorsa Sorun giderme sayfasına bakın. HTTP hataları için API hataları sayfasına bakın.