log4j - Mimari
log4j API, her katmanın farklı görevleri gerçekleştirmek için farklı nesneler sağladığı katmanlı bir mimariyi takip eder. Bu katmanlı mimari, tasarımı esnek ve gelecekte genişletmeyi kolaylaştırır.
Log4j çerçevesinde kullanılabilen iki tür nesne vardır.
Core Objects:Bunlar çerçevenin zorunlu nesneleridir. Çerçeveyi kullanmaları gerekir.
Support Objects:Bunlar çerçevenin isteğe bağlı nesneleridir. Ek ancak önemli görevleri gerçekleştirmek için temel nesneleri desteklerler.
Çekirdek Nesneler
Çekirdek nesneler aşağıdaki nesne türlerini içerir -
Logger Nesnesi
En üst düzey katman, Logger nesnesini sağlayan Logger'dır. Logger nesnesi, günlük bilgilerinin yakalanmasından sorumludur ve bir ad alanı hiyerarşisinde depolanır.
Düzen Nesnesi
Düzen katmanı, günlük bilgilerini farklı stillerde biçimlendirmek için kullanılan nesneler sağlar. Günlük bilgilerini yayınlamadan önce nesneleri eklemek için destek sağlar.
Düzen nesneleri, günlük bilgilerinin insan tarafından okunabilir ve yeniden kullanılabilir bir şekilde yayınlanmasında önemli bir rol oynar.
Ekleyici Nesne
Bu, Appender nesnelerini sağlayan alt düzey bir katmandır. Appender nesnesi, günlük bilgilerini bir veritabanı, dosya, konsol, UNIX Syslog vb. Gibi çeşitli tercih edilen hedeflerde yayınlamaktan sorumludur.
Aşağıdaki sanal diyagram, log4J çerçevesinin bileşenlerini gösterir:
Destek Nesneleri
Log4j çerçevesinde, günlükleme çerçevesinde hayati bir rol oynayan başka önemli nesneler vardır:
Seviye Nesnesi
Level nesnesi, tüm günlük bilgilerinin ayrıntı düzeyini ve önceliğini tanımlar. API içinde tanımlanan yedi günlük kaydı seviyesi vardır: KAPALI, HATA AYIKLA, BİLGİ, HATA, UYARI, ÖNEMLİ ve TÜMÜ.
Nesneyi Filtrele
Filtre nesnesi, günlük bilgilerini analiz etmek ve bu bilgilerin günlüğe kaydedilip kaydedilmeyeceği konusunda daha fazla karar vermek için kullanılır.
Bir Appender nesnesinin kendileriyle ilişkilendirilmiş birkaç Filtre nesnesi olabilir. Günlük bilgileri belirli bir Appender nesnesine aktarılırsa, bu Appender ile ilişkili tüm Filtre nesnelerinin, eklenen hedefe yayınlanmadan önce günlük bilgilerini onaylaması gerekir.
ObjectRenderer
ObjectRenderer nesnesi, günlük çerçevesine geçirilen farklı nesnelerin String temsilini sağlamada uzmanlaşmıştır. Bu nesne, son günlük kaydı bilgilerini hazırlamak için Layout nesneleri tarafından kullanılır.
LogManager
LogManager nesnesi, günlükleme çerçevesini yönetir. Sistem genelinde bir yapılandırma dosyasından veya bir yapılandırma sınıfından ilk yapılandırma parametrelerini okumaktan sorumludur.