Pazartesi, Aralık 15, 2008

Log4j tutorial

Log4j javada loglama için kullanılan önemli ve güzel özellikleri olan bir Java API sidir. Log4j yi herhangi java projenizde kullanabilirsiniz. log4j kurulumu için;

1. http://logging.apache.org/log4j/1.2/download.html adresinden apache-log4j-1.2.?.jar ı indirin.

2. log4j-1.2.*.jar lib dosyasını projenize ekleyin. bu jar WEB-INF/lib in altında olması gerekiyor.

3. log4j.properties dosyasını oluşturun. bu dosyanız src klasörünüzün hemen altında olsun. isterseniz log4j.xml dosyasını da oluşturabilirsiniz. çünkü java önce log4j.xml dosyasının var olup olmadığına bakar sonra log4j.properties dosyasına bakar. ama xml yazmak daha karışk gelecektir. buna karşın config dosyası oluşturmak daha kolay olduğu için genelde .properties dosyası oluşturulur.

log4j.rootLogger=debug,sysout,fileout

# sysout log configuration
log4j.appender.sysout=org.apache.log4j.ConsoleAppender
log4j.appender.sysout.Target=System.out
log4j.appender.sysout.Threshold=info
log4j.appender.sysout.layout=org.apache.log4j.PatternLayout
log4j.appender.sysout.layout.ConversionPattern=%d{dd.MM.yyyy HH:mm:ss} %5p (%F:%L) - %m%n

#fileout log configuration
log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileout.ImmediateFlush=true
log4j.appender.fileout.Threshold=INFO
log4j.appender.fileout.File=applog.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.DatePattern='.'yyMMdd'.txt'
log4j.appender.fileout.layout.ConversionPattern=%d{dd.MM.yyyy HH:mm:ss} %5p (%F:%L) - %m%n

gördüğünüz gibi bu konfigürasyon dosyasında hem dosyaya hemde system out a yazıyoruz.

4.Javada loglama için ise şöyle basitçe kullanımı var.

.
.
private static org.apache.log4j.Logger log = Logger.getLogger(MyLogger.class);
log.info("info message");
log.error("error message");
log.warn("warn message");
.
.


isterseniz loglarınızı mail olarak da gönderebilirsiniz. bu durumda log4j.rootLogger=debug,sysout,fileout,mail şeklinde rootlogger ı değiştirmeniz gerekir.


#email appender
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
#defines how othen emails are send
log4j.appender.mail.BufferSize=1
log4j.appender.mail.SMTPHost="smtp.myservername.xx"
log4j.appender.mail.From=fromemail@myservername.xx
log4j.appender.mail.To=toemail@myservername.xx
log4j.appender.mail.Subject=Log ...
log4j.appender.mail.threshold=error
log4j.appender.mail.layout=org.apache.log4j.PatternLayout
log4j.appender.mail.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n


Eğer projenizi weblogic server a deploy ediyorsanız loglama sorunu yaşayabilirsiniz. çünkü weblogic server önce kendi loglama mekanizmasına bakıyor ve onu kullanıyor. kendi projenizdeki loglama mekanizmasını öncelemek için aşağıdaki parametreleri weblogic.xml dosyasına ekleyerek deploy yaparsanız sorun çözülür.
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>


log4j dosyasının detaylı kurulumu için
http://www.vipan.com/htdocs/log4jhelp.html adresine gözatmanızda yarar var.

Hiç yorum yok:

Yorum Gönder