Log4J Nedir?

Merhaba arkadaşlar, bu yazımda size Log4J adlı bir loglama kütüphaneden bahsedeceğim.

Öncelikle loglama nedir?

Loglama bir sistemin hareketlerini kaydeden bir yapıdır. Özellikle sistem yöneticileri ve hata gideren kullanıcılar ve hatta geliştiriciler için bir vazgeçilmezdir. Log4J ‘den önce de loglama yapılıyordu aslında, log4J standart loglama kütüphanesini kullanarak işleri bizim için biraz daah kontrollü ve kolay hale getiriyor.

Bu kütüphaneyi kullanabilmek için ise log4j jar dosyası ve log4j properties dosyası yeterlidir.

Log4j ‘de loglama seviye bazlıdır. Bu seviyeler properties dosyasından ayarlanabilmektedir.

log 1

Görüldüğü üzere seviye merkeze doğru gittikçe loglama kapması azalır. Örnek bir log4j.properties dosyası:

# logger options: ALL -> DEBUG -> INFO -> WARN -> ERROR -> FATAL -> OFF

# Root logger option
log4j.rootLogger=DEBUG, file, stdout

# Direct log messages to a daily log file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=log/loging.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L – %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L – %m%n

Örnek kullanım için sınıf içerisine ilk olarak log4j için bir nesne oluşturmamız gerekli,

private static final Logger logger = Logger.getLogger(SınıfAdi.class);

Gördüğünüz gibi sınıf adı da kullanılarak bir nesne oluşturuluyor. Bunun nedeni hangi loğun hangi sınıftan yazdırıldığının da kaydını tutuyor olmamız.

Bir log mesajı yazdırmak için örnek kodlar:

logger.fatal("fatal log message");
logger.error("error log message");
logger.warn("warn log message");
logger.info("info log message");
logger.debug("debug log message");
logger.trace("trace log message");

 

Her işlem ya da logic kontrol sırasında logger kullanmak ileri yönlü hata kontrolü sağlayacaktır. Çünkü katmanlı projelerde bir hatanın bulunması zaman zaman gerçekten zor olabiliyor. Küçük projelerde pek gerek kalmasa da bunu bir alışkanlık hale getirmek oldukça faydalı olacaktır.

EOC(End Of Code)

Yorum bırakın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.