Merhaba arkadaşlar, bu yazımda Log4j kurulumunu ve ilk programı yazacağız. Log4j şu anda 2 sürümünde ancak biz 1 ve 2 sürümlerini de örneklerle inceleyeceğiz. Şimdi ilk önce Log4j-1 inceleyelim.
Kurulum olarak Java projesi oluşturalım ve bu projeyi maven projesine dönüştürelim. Pom.xml dosyasına aşağıdaki dependency’i ekleyelim:
1 2 3 4 5 |
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> |
Konfigürasyonu properties dosyası kullanarak gerçekleştireceğiz. Log4j’yi yapılandırmak Level, Appender ve Layout nesnelerini tanımlayarak belirtmeyi içerir. Proje içerinde bir tane properties dosyası oluşturalım ve ismini log4j.properties olarak ayarlayalım. Default olarak LogManager classpath içerisinde log4j.properties dosyasını arar.
Log4j.propeties Kullanımı
- Root loggerin seviyesi Debug olarak tanımlanmıştır. Debug, X isimli appender’i ona bağlar.
- X adlı appender’i geçerli bir appender olarak ayarlayalım.
- X appender’in layout’unu ayarlayalım.
Şimdi log4j.properties dosyasında yukarıdaki maddeleri gerçekleştirelim:
Log4j.properties
1 2 3 4 5 6 7 8 9 |
#Root loggerin seviyesi Debug olarak tanımlanmıştır. Debug, X isimli appender’i ona bağlar. log4j.rootLogger = DEBUG, X # X adlı appender’i geçerli bir appender olarak ayarlayalım. log4j.appender.X=org.apache.log4j.FileAppender # X appender’in layout’unu ayarlayalım. log4j.appender.X.layout=org.apache.log4j.PatternLayout log4j.appender.X.layout.conversionPattern=%m%n |
Şimdi log4j.properties dosyası ile ilgili aşağıdaki maddeleri gerçekleştirerek örnek yapalım:
- Root logger seviyesi Debug olarak tanımlansın. Debug, File isimli appender’i ona bağlar.
- File appender’i, org.apache.log4j.FileAppender olarak tanımlansın. Bu işlem projede log klasörü altında log.out dosyasına yazma işlemi yapar.
- Layout Pattern olarak %m%n olarak tanımlansın. Bu işlem ile log yeni satıra geçecek.
Yukarıdaki adımları properties dosyamıza uygulayalım:
Log4j.properties
1 2 3 4 5 6 7 |
log4j.rootLogger = DEBUG, FILE log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=log\\log.out log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n |
Biz Debug appender’ini kullandık. Mümkün olan türler aşağıdadır:
- Trace : Debug’ dan daha küçük bilgi olaylarını belirler.
- Debug : Bir uygulamada debug yapmak için en yararlı olan ince-küçük bilgi olaylarını belirler.
- Info : Uygulamanın ilerlemesini büyük düzeyde vurgulayan bilgi mesajlarını atar.
- Warn : Potansiyel olarak zararlı durumları belirler.
- Error : Uygulamanın çalışmaya devam etmesine hala izin verebilecek hata olaylarını belirle
- Fatal : Uygulamanın iptal edilmesine yol açacak çok ciddi hata olayları belirler.
- All : Özel level’lar dahil tüm level’ları içerir.
Şimdi main sınıfını oluşturalım ve çıktı almaya çalışalım.
Test.java
1 2 3 4 5 6 7 8 9 10 11 12 |
package com.koc.furkan.main; import org.apache.log4j.Logger; public class Test { public static void main(String[] args) { Logger logger = Logger.getLogger(Test.class); logger.info("Furkan info"); logger.debug("Furkan debug"); logger.error("Furkan error"); logger.fatal("Furkan fatal"); } } |
Çalıştıralım ve çıktımıza bakalım :
log.out
1 2 3 4 |
Furkan info Furkan debug Furkan error Furkan fatal |
Bu yazımı burada bitiriyorum. Diğer yazılarımda görüşmek üzere…