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.