Merhabalar bugünkü yazımızda loglama işlemlerinde güçlü Kütüphanelerden olan log4j ve slf4j nedir nasıl kullanılacağına bakacağız.
Log4j Nedir?
Log4j , Apache Yazılım Lisansı altında dağıtılan, Java ile yazılmış güvenilir, hızlı ve esnek bir log kaydı kütüphanesi (API'ler).
Log4j, runtime (çalışma zamanında) harici yapılandırma dosyaları aracılığıyla yüksek düzeyde yapılandırılabilir.
Log(Günlük) kaydetme sürecini öncelik seviyeleri açısından görüntüler.Log (Günlüğe) kaydetme bilgilerini veritabanı, dosya, konsol, UNIX Sistem Logları vb. gibi çok çeşitli hedeflere yönlendirmek için mekanizmalar Slf4j Nedir?
Slf4j, bizleri loglama frameworklerinden yalıtan, bağımsız olarak çalışmamızı sağlayan bir arayüzdür.log4j'den farklı olarak, SLF4J ( J ava için Simple Logging Facade ) bir log kaydı framework uygulaması değildir.
SLF4J ve Log4j Karşılaştırması
Log4j bir kayıt Frameworküdür.SLF4J ise farklı kayıt çerçeveleriyle çalışabilen bir API'dir.
Log4j daha hassas bir hiyerarşik kayıt protokolüne sahipken, SLF4J daha az karmaşık bir yaklaşım benimsiyor.
Log4j daha fazla topluluk desteğine sahiptir ve daha iyi performansa sahiptir, ancak SLF4J daha fazla esneklik ve taşınabilirlik sunar.
Log4j daha fazla topluluk desteğine sahiptir ve daha iyi performansa sahiptir, ancak SLF4J daha fazla esneklik ve taşınabilirlik sunar.
Log4j ve SLF4J: Fark Nedir?
Başlangıçta ikisi aynı görünüyor; hem Log4j hem de SLF4J, Java tabanlı ve diğer uygulamalar için günlük kaydı sağlıyor. Ancak Log4j ve SLF4J, paylaştıkları pek çok benzerliğe rağmen oldukça farklıdır.
Loglama, olayları günlüğe kaydetmek ve yönetmek için bir uygulama veya yazılımdaki bir kod parçasını ifade eder.
Uygulamalar sıklıkla hatalarla karşılaştığından ve bu hatalar zamanında uygun şekilde çözülmediği takdirde hizmet kesintisine yol açabileceğinden bu gereklidir. Sorun meydana gelirse iki senaryo vardır. İdeal olarak, neyin yanlış gittiğini, nedenini ve ne zaman yanlış gittiğini ve olası bir çözümü açıklayan bir hata mesajı alınır veya geri bildirim açık veya kapsamlı değildir. Bu ikinci senaryoyu önlemek için günlük kitaplıkları ve benzer yardımcı programlar mevcuttur.
Fark Log4j SLF4J
Mimari Hassas bir hiyerarşik günlük kaydı protokolü ile kendi amaca yönelik olarak oluşturulmuş günlük kaydı mimarisine sahiptir. Köprü görevi görür ve günlük kaydı mimarisine sahip değildir. Birden fazla günlük kaydı çerçevesiyle entegrasyonu destekler.
Topluluk Desteği ve Gelişimi Daha uzun varlığı ve yaygın kullanımı nedeniyle daha fazla topluluk desteğine sahiptir. Daha az topluluk desteği var ancak bu daha yaygın hale geldikçe değişebilir.
Verim Yüksek performanslı ve kolayca ölçeklenebilir. Eşzamansız günlük kaydını destekler ve düşük bellek gereksinimlerine sahiptir. Performans, uygulanan günlük kaydı çerçevesine bağlıdır. Log4j'den daha hafif olup çok yönlülüğünü artırır.
Özellikler ve Esneklik Günlüğe kaydetme örnekleri üzerinde daha fazla kontrol için filtreler ve birden fazla ekleyici sunar. Daha fazla esneklik ve taşınabilirlik sağlar. Farklı bir günlük kaydı çerçevesine kolay geçişe ve günlük çıktılarının özelleştirilmesine olanak tanır.
Logback, popüler log4j projesinin devamı olarak tasarlanmıştır ve log4j'nin kaldığı yerden devam eder.
Apache Log4j 2, Log4j'e yönelik bir yükseltme olup , öncülü olan Log4j 1.x'e göre önemli iyileştirmeler sağlar veLogback'in mimarisindeki bazı doğal sorunları düzeltirken Logback'te mevcut iyileştirmelerin çoğunu sağlar .
Spring Boot Uygulamasında Log4j Nasıl Uygulanır?
Pom.xml içerisinde ilgili kütüphaneler
ch.qos.logback
logback-classic
...
compile
org.apache.logging.log4j
log4j-to-slf4j
...
compile
org.slf4j
jul-to-slf4j
...
compile
application properties ayarları
LOGGiNG Slf4j
logging.level.root=info;
logging.level.org.springframework.security=info;
logging.level.org.springframework.web=info;
logging.level.org.hibernate=info;
logging.level.org.springframework.orm.jpa=info
logging.level.org.springframework.transaction=info
for Hibernate only
logging.level.org.hibernate.engine.transaction.internal.TransactionImpl=info
Controller içerisinde log yazma
@Slf4j
Method içerisinde kullanımı
Umarım faydalı bir yazı olmuştur.
https://latestsoftwaredevelopers.com/blogDetay/368/log4j-ve-slf4j-nedir
Başka bir yazıda görüşmek üzere hoşçakalın!
Top comments (0)