04_Log4j_Dosyaya_Loglama

Merhaba arkadaşlar, bundan önceki yazımda loglamaya giriş yapmıştık ve dosyaya log atmıştık. Bu yazımda dosyaya loglamaya devam edeceğiz. Şimdi FileAppender konfigürasyon özelliklerine bakalım.

Ayar Açıklama
immediateFlush

 

Default olarak true değerini alır. Bu da her ekleme işleminden sonra dosyayı temizler.
encoding Herhangi bir karakter kodlamasını kullanmak mümkündür. Default olarak platforma özgü kodlama şemasıdır.
threshold Bu appender için eşik seviyesidir.
Filename Log dosyasının adıdır.
fileAppend Default olarak true değerini alır. Yani loğları dosyanın sonuna ekler.
bufferedIO Default olarak false değerini alır. Bu özellik buffered olarak yazmanın etkin olup olmadığına bakar.
bufferSize Arabelleğe alınmış I/O etkinse arabellek boyutunu belirtir. Default olarak 8KB olarak belirlenmiştir.
maxFileSize Default olarak 10MB ayarlanmıştır.
maxBackupIndex Default olarak 1 ayarlanmıştır. Oluşturulacak yedek dosya sayısını gösterir.

Şimdi örnek olarak bir tane properties dosyası hazırlayalım ve yukardaki özellikleri kullanalım.

Log4j.properties

Şimdi bu hazırladığımı properties dosyamızı bir örnek üzerinde uygulayalım ve çıktıya bakalım.

Test.java

Log4j.properties dosyası olarak yukarıdaki dosyamızı ekleyelim.

Log4j.properties

Şimdi projemizi run edelim ve çıktıyı gözlemleyelim:

MaxBackupIndex değeri 3 olduğu için 3 tane yedek aldı. Burada diğer önemli bir konu ise MaxFileSizedır. Log.out dosyasının boyutu MaxFİleSize değerinden fazla olduğunda yedeğini alıyor. Burada eskiden yeni sıralaması 3-2-1-out şeklinde gidiyor. Şimdi çıktıları ve dosya isimlerine tarihi de ekleyerek günlük olarak log tutalım.

Log bilgilerini dosyalara günlük olarak yazmak için, FileAppender sınıfını genişleten ve tüm özelliklerini kullanan org.apache.log4j.DailyRollingFileAppender sınıfını kullanmamız gerekir. Yukarıdaki properties dosyasının içeriğine ek olarak aşağıdaki parametre de eklenir:

Ayar Açıklama
DatePattern

 

Bu, dosyanın ne zaman döndürüleceğini ve izlenecek adlandırma kuralını gösterir. Default olarak, devir işlemi her gün gece yarısı yapılır.

DatePattern, aşağıdaki kalıplardan birini kullanarak devir işlemini kontrol eder:

Ayar Açıklama
‘.’ yyyy-MM Her ayın sonunda ve bir sonraki ayın başında devir yapar.
‘.’ yyyy-MM-dd Her gün gece yarısı devir yapar. Bu Default değeridir.
‘.’ yyyy-MM-dd-a Her günün gece yarısı ve öğlen devir eder.
‘.’ yyyy-MM-dd-HH Her saatin üstüne devir eder.
‘.’ yyyy-MM-dd-HH-mm Her dakika devir eder.
‘.’ yyyy-ww Yerel ayara bağlı olarak her haftanın ilk gününde devir eder.

Örnek olarak:

Şimdi çıktımıza tarihimizi ve diğer detayları ekleyelim. Örnek üzerinden daha iyi anlaşılacaktır.

Log4j.properties

Console Çıktısı:

Log4j yazılarını burada bitiriyorum. Diğer yazımlarımda görüşmek üzere.

Print Friendly, PDF & Email

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir