log4j - Genel Bakış
log4j, Apache Yazılım Lisansı altında dağıtılan, Java dilinde yazılmış, güvenilir, hızlı ve esnek bir günlükleme çerçevesidir (API'ler).
log4j, C, C ++, C #, Perl, Python, Ruby ve Eiffel dillerine taşınmıştır.
log4j, çalışma zamanında harici yapılandırma dosyalarıyla yüksek düzeyde yapılandırılabilir. Günlüğe kaydetme sürecini öncelik seviyeleri açısından görüntüler ve günlük bilgilerini bir veritabanı, dosya, konsol, UNIX Syslog vb. Gibi çok çeşitli hedeflere yönlendirmek için mekanizmalar sunar.
log4j'nin üç ana bileşeni vardır:
loggers: Günlük bilgilerini yakalamaktan sorumludur.
appenders: Günlük bilgilerini çeşitli tercih edilen hedeflerde yayınlamaktan sorumludur.
layouts: Günlük bilgilerini farklı stillerde biçimlendirmekten sorumludur.
Log4j tarihi
1996 yılının başlarında AB SEMPER (Avrupa için Güvenli Elektronik Pazar Yeri) projesi için izleme API'si olarak başladı.
Sayısız geliştirme ve birkaç enkarnasyondan sonra, ilk API, Java için popüler bir günlük kaydı paketi olan log4j haline geldi.
Paket, açık kaynak girişimi tarafından onaylanmış tam teşekküllü bir açık kaynak lisansı olan Apache Yazılım Lisansı altında dağıtılır.
Tam kaynak kodu, sınıf dosyaları ve dokümantasyon dahil en son log4j sürümü şu adreste bulunabilir: http://logging.apache.org/log4j/.
log4j Özellikleri
İş parçacığı açısından güvenlidir.
Hız için optimize edilmiştir.
Adlandırılmış bir günlükçü hiyerarşisine dayanır.
Kaydedici başına birden çok çıktı ekleyiciyi destekler.
Uluslararasılaşmayı destekler.
Önceden tanımlanmış bir tesis setiyle sınırlı değildir.
Günlüğe kaydetme davranışı, bir yapılandırma dosyası kullanılarak çalışma zamanında ayarlanabilir.
Başlangıçtan itibaren Java İstisnalarını ele almak için tasarlanmıştır.
TÜMÜ, TRACE, DEBUG, INFO, WARN, ERROR ve FATAL olmak üzere birden fazla seviye kullanır.
Günlük çıktısının biçimi, Layout sınıfı genişletilerek kolayca değiştirilebilir .
Günlük çıktısının hedefi ve yazma stratejisi, Appender arayüzünün uygulamalarıyla değiştirilebilir.
Başarısızlıktır. Bununla birlikte, kesinlikle teslimatı sağlamaya çalışsa da, log4j her log ifadesinin hedefine teslim edileceğini garanti etmez.
Günlüğe Kaydetmenin Artıları ve Eksileri
Loglama, yazılım geliştirmenin önemli bir bileşenidir. İyi yazılmış bir günlük kaydı kodu, hızlı hata ayıklama, kolay bakım ve bir uygulamanın çalışma zamanı bilgilerinin yapılandırılmış depolanmasını sağlar.
Günlük tutmanın da dezavantajları vardır. Bir uygulamayı yavaşlatabilir. Çok ayrıntılı olursa, kaydırma körlüğüne neden olabilir. Bu endişeleri gidermek için log4j güvenilir, hızlı ve genişletilebilir olacak şekilde tasarlanmıştır.
Günlüğe kaydetme nadiren bir uygulamanın ana odak noktası olduğundan, log4j API'nin anlaşılması ve kullanılması kolay olmaya çalışır.