Java'da Log4j Kullanarak Kendi Günlük Kayıt Seviyenizi Nasıl Oluşturabilirsiniz (Log4j 2'yi Yapılandırma)

Yayınlanan: 2017-07-26
Java'da Log4j 2 Kullanarak Kendi Kayıt Seviyenizi Nasıl Oluşturabilirsiniz?

Log4j'de kendi kayıt seviyenizi eklemeniz gerekiyorsa, bunu aşağıdaki gibi yapabilirsiniz. Apache Log4j 2 ile Level , Custom Log Levels arasında uzanan kendi sınıfınızı oluşturmanız gerekecek.

Log4j basit ve esnek bir logging framework . Günlüğe kaydetme, geliştiriciyi uygulama hataları için ayrıntılı bağlamla donatır. log4j ile, uygulama ikili dosyasını değiştirmeden çalışma zamanında günlüğe kaydetmeyi etkinleştirmek mümkündür.

log4j paketi, bu ifadelerin ağır bir performans maliyetine maruz kalmadan sevk edilen kodda kalabilmesi için tasarlanmıştır.

Log4j'de Kendi Kayıt Seviyenizi Nasıl Oluşturursunuz (Log4j'yi Yapılandırma)

Log4j, günlüğe kaydetme isteklerinin birden çok hedefe yazdırılmasına izin verir. log4j konuşmasında, bir çıktı hedefine appender adı verilir. Konsoldan, dosyalardan, GUI bileşenlerinden, uzak soket sunucularından JMS'ye kadar çeşitlilik gösterirler.

İhtiyacınız olan Jar Dosyası.

İşte bir Maven Bağımlılığı:

Log4j'yi en son sürüme güncelleyin

CVE-2021-44228: Yapılandırmada, günlük mesajlarında ve parametrelerde kullanılan Apache Log4j2 <=2.14.1 JNDI özellikleri, saldırgan kontrollü LDAP ve JNDI ile ilgili diğer uç noktalara karşı koruma sağlamaz.

log4j 2.16.0'dan itibaren bu davranış varsayılan olarak devre dışı bırakılmıştır.

/resources klasörünün altına log4j.xml dosyasını koymalısınız:

kaynaklar klasöründeki log4j.xml dosyası

İşte aşağıdakiler için örnek bir Java Kodu:

  • Java'da özel Günlük seviyeleri için Log4j Günlüğü
  • log4j'de kendi günlük kaydı seviyenizi oluşturma
  • log4j özel günlükçü örneği

CrunchifyLog4jLevel.java

Bir diğeri okumalı:

  • Komut Satırı Üzerinden Apache Tomcat Sunucusunu Durdurma Nasıl Başlatılır? (Windows Hizmeti olarak kurulum)
  • Eclipse'de basit Web Hizmeti ve Web Hizmeti İstemcisi Oluşturun ve Dağıtın

İşte log4j.xml Dosyasının bir içeriği

CrunchifyLog4jLevelTest.java

Test programını çalıştırın ve Eclipse's Console aşağıdaki sonuç türünü görmelisiniz.

Log seviyeniz için belirttiğiniz int değeri önemlidir. Burada “ CRUNCHIFY ” log seviyesinin DEBUG seviyesinden daha yüksek, ancak log4j tarafından sağlanan TRACE seviyesinden daha düşük olacağını tanımladım.

Bu nedenle, kategoride ( log4j.xml dosyanızda) DEBUG için bir öncelik düzeyi ayarladığınızda, CRUNCHIFY düzeyindeki günlükler, günlük dosyasına YAPILMAZ .