Leaf ile Sentry Kurulumu
Sentry, gerçek zamanlı hata izleme ve performans izleme için güçlü bir servistir. Leaf sunucunuzla entegre edilmesi, hataları ve istisnaları otomatik olarak yakalamanızı sağlar, bu da sunucunuzda ortaya çıkan sorunları teşhis etmeyi ve düzeltmeyi çok daha kolay hale getirir.
Bu rehber, Leaf'in Sentry projenize hata raporları göndermesi için nasıl yapılandırılacağını açıklar.
Ön Koşullar
- Sentry Hesabı: sentry.io üzerinde bir hesabınızın olması gerekir. Birçok sunucu için uygun ücretsiz katmanlar sunarlar.
- Sentry Projesi: Sentry organizasyonunuz içinde yeni bir proje oluşturun.
- Platform seçimi istendiğinde, Java'yı seçin. Eğer Java hemen görünmüyorsa, "Diğer" seçeneğini seçebilir veya aratabilirsiniz. Belirli platform seçimi, genellikle Sentry tarafındaki başlangıç kurulum talimatlarını etkiler, ancak Leaf entegrasyonu kendisi halleder.
- DSN (Veri Kaynağı Adı): Projeniz oluşturulduktan sonra, proje ayarlarına gidin. "Client Keys (DSN)" bölümünü bulun. DSN dizesini kopyalayın – bu bir URL gibi görünür (örneğin,
https://xxxxxxxxxxxxxxxxxxxxxxxx@o######.ingest.sentry.io/#######).
Yapılandırma Adımları
Leaf Yapılandırmasını Bulun: Ana Leaf sunucu yapılandırma dosyasını açın. Bu genellikle sunucunuzun kök dizininde veya
configalt klasöründe bulunanleaf-global.ymldosyasıdır.Sentry Bölümünü Bulun: Yapılandırma dosyası içinde
sentry:bölümünü bulun. Varsayılan olarak bu bölüm aşağıdaki gibi görünür:yamlsentry: # Geliştirilmiş hata günlüğü için Sentry DSN, devre dışı bırakmak için boş bırakın, # https://sentry.io/ adresinden alın dsn: '' # Bu seviye veya daha yüksek seviyedeki günlükler kaydedilecektir. log-level: WARN # Bunu etkinleştirdikten sonra yalnızca Throwable içeren günlükler kaydedilecektir. only-log-thrown: trueAyarları Yapılandırın:
dsn:- Boş tek tırnakları (
'') Sentry proje ayarlarından kopyaladığınız DSN ile değiştirin. Tek tırnak içinde olduğundan emin olun. - Örnek:
dsn: 'https://xxxxxxxxxxxxxxxxxxxxxxxx@o######.ingest.sentry.io/#######' - Bunu boş bırakırsanız, Sentry entegrasyonu devre dışı kalır.
- Boş tek tırnakları (
log-level:- Bu, Leaf'in Sentry'ye göndereceği günlük mesajlarının minimum önem seviyesini belirler. Yaygın seviyeler
ERROR,WARN,INFO,DEBUGiçerir. - Varsayılan
WARN, yalnızca uyarı veya hata olarak kaydedilen mesajların (genellikle istisnalar dahil) gönderileceği anlamına gelir. - Yalnızca kritik hataları istiyorsanız
ERRORolarak ayarlayabilirsiniz. Daha düşük bir seviye (örneğin,INFO) ayarlamak çok daha fazla veri gönderebilir ve aktif olarak hata ayıklama yapmadığınız sürece istenmeyebilir. - Öneri: Varsayılan olan
WARNile başlayın.
- Bu, Leaf'in Sentry'ye göndereceği günlük mesajlarının minimum önem seviyesini belirler. Yaygın seviyeler
only-log-thrown:trueolarak ayarlanırsa (varsayılan), Leaf yalnızca açıkça bir JavaThrowable(örneğin, bir istisna veya yığın izi içeren hata) içeren günlük mesajlarını Sentry'ye gönderir. Bu, Sentry'nin gerçek kod hatalarına odaklanması için şiddetle önerilir.falseolarak ayarlanırsa,log-leveleşiğini karşılayan herhangi bir günlük mesajı, hata içermeyen yalnızca bilgilendirme metni olsa bile gönderilir. Bu, Sentry'de çok fazla gürültü yaratabilir.- Öneri: Varsayılan olan
truedeğerini koruyun.
Kaydedin ve Yeniden Başlatın:
- Yapılandırma dosyasındaki değişiklikleri kaydedin.
- Yeni ayarların etkili olması için Leaf sunucunuzu tamamen yeniden başlatın.
Sorun Giderme
- Hatalar Görünmüyor:
dsndeğerinin doğru kopyalandığından ve YAML dosyasında tek tırnak içinde olduğundan emin olun.log-leveldeğerinin çok yüksek olmadığından emin olun (örneğin,ERRORolarak ayarlanmışsa uyarılar gönderilmez).only-log-thrownayarının beklediğiniz hatalar için uygun olduğunu doğrulayın.- Yapılandırma değişikliğinden sonra sunucunun tamamen yeniden başlatıldığından emin olun.
- Sunucunuzun güvenlik duvarının
ingest.sentry.ioadresine 443 numaralı port (HTTPS) üzerinden giden bağlantıları engelleyip engellemediğini kontrol edin.
- Çok Fazla Sorun:
log-leveldeğerini artırın (örneğin,WARNyerineERROR).only-log-thrownayarınıntrueolduğundan emin olun.