Common Logger: Pratik bir günlük kütüphanesi

Günümüzde neredeyse her program penceresinde ya da konsolda söylediklerinden fazlasını günlüklerine yazıyor. Bu günlükler programların yanında olabileceği gibi işletim sistemlerinin belirlediği yerlerde (Windows’da merkezi bir servis, Linux’da /var/log dizini) bulunabiliyor. Yıllardır kullanılan bu yöntem için bir çok kütüphane de var.
Peki bu kadar oturmuş bir yöntem için yeni bir kütüphaneye neden ihtiyaç var? Nedeni basit esasında. Java’nın içinde gelen logger, devasa bir yapı. Linux’un syslogger sistemi de büyüklükte Java’dan geri kalmıyor. Ya istediğiniz basit bir şey ise? Sadece ekrana ve dosyaya pratik şekilde günlük tutmak, mesajlar yazdırmak istiyorsanız? İlk seçeneğiniz bu kütüphaneleri kullanmak, ikincisi ile kendi kütüphanenizi geliştirmek.
Yüksek lisans tezim yapay zeka içeren agent’ların çalıştığı dağıtık bir sistem. Agent’ların hepsi çok ufak programlar ve son derece hızlı çalışmak zorundalar. Aynı zamanda ne yaptıklarını kaydedebilmeliler ki gerektiğinde ne yaptıkları incelenebilmeli. İşte bu nedenden dolayı dökümanlarına 2001′den beri dokunulmayan Java logging API yerinde kendi ufak günlük kütüphanemi yazmaya karar verdim. Common Logger aşağıdaki özelliklere sahip:
- Dosyaya ve ekrana kaydetme desteği var.
- Cast edildiği andan itibaren kullanıma hazır.
- Debug, Info, Warning, Error ve Fatal adı altında 5 hata seviyesi destekliyor.
- Debug, Info ve Warningi stdout’a, Error ve Fatalı stderr’e yönlendiriyor.
- Genel kaydetme ayarı desteği (ekrana, dosyaya, her ikisine birden) var.
- Genel kaydetme ayarlarını es geçerek istenilen bir kaydı istenilen yere yönlendirebiliyor (örn: Bütün kayıtlar dosyaya giderken, ayarları değiştirmeden, sadece bir kaydı ekrana yönlendirebiliyor).
- Kendi içinde exception handling yapıyor.
- Dosyaya kaydetmeyi etkinleştirmek sadece tek bir satır!
- Günlüğü kaydeden program ya da modülün kendine ait olduğunu başına adını yazarak belli edebiliyor.
- İsteğe bağlı tarih/saat desteği var.
- Dosyaların içini silmiyor, böylece programcı istemedikçe günlük dosyalarının içeriği kaybolmuyor.
- Günlük kaydı için sadece iki fonksiyon içeriyor.
- Java ile yazıldı.
- GPLv3 lisanslı.
Aynı zamanda yazdığım logger, Benim commons dediğim, kendi programlarımda kullanabileceğim ufak ve pratik araçların ilk üyesi. Commons’un bir yol haritası yok ama; programlarımı geliştirirken ihtiyaç duyabileceğim basit araçların hepsini commons adı altında toplamayı da düşünüyorum.
Common Logger’ı deneyebilmeniz için bir program içerisinde kullanmanıza ya da derlemenize gerek yok. Common Logger, kendi demo programı ile beraber geliyor, üstelik derlenmiş hali ile beraber.
Common logger’ı buradan indirebilirsiniz.
Diğer programlara bakmak için codefoundry‘i ziyaret edebilirsiniz.
Güncelleme: Common Logger’da tarih saat konusundaki ufak bir hata yüzünden kayıt tarihlerinin güncellenmiyordu. Düzeltilmiş versiyonu (v1.0.1) codefoudry‘den alabilirsiniz. Linklerin değişmemesi için dosya adını değiştirmedim ama; program yenilendi.
Henüz yorum yok
Leave a reply
RSS - Posts