Catatan belajar log4j..
biar ngerti log4j , silahkan download ebook di link berikut ini : endy.muhardin.googlepages.com/minibook-log4j.pdf
Librari :
1. log4j-1.2.15.jar
2. mysql-connector-java-5.1.6-bin.jar (untuk database)
3. mail.jar (untuk kirim email)
4. activation.jar (pendukung mail.jar)
Java :
package com.log4j.impl;
import org.apache.log4j.Logger;
/**
*
* @author Aldi
*/
public class Main {
private static final Logger logger = Logger.getLogger(Main.class);
public static void main(String[] args) {
logger.info(" print hello world");
System.out.println("Hello World");
logger.error("error : " + " say, telah terjadi kesalahan ...cek ya say..gakgakgakgak");
}
}
log4j.properties
file ini disimpan di dalam classpath
log4j.rootLogger=INFO, console, RollInfo, RollDay, mail, db
# ini untuk log yang ditampilkan di console
#set class Console si log4j
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# ini untuk log yang ditampilkan di file
#set class FileAppender si log4j
log4j.appender.RollInfo=org.apache.log4j.RollingFileAppender
#set tingkat log nya, apakah INFO,WARN,ERROR,DEBUG dan lain-lain
log4j.appender.RollInfo.Threshold = INFO
#set File Log yang akan disimpan
log4j.appender.RollInfo.File=D:/Latihan/log4jimplementation/log/myfilelog.log
log4j.appender.RollInfo.MaxFileSize=10KB
log4j.appender.RollInfo.MaxBackupIndex=2
log4j.appender.RollInfo.layout=org.apache.log4j.PatternLayout
log4j.appender.RollInfo.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# ini untuk log yang ditampilkan di file tapi per-hari/per-day
#set class FileAppender si log4j
log4j.appender.RollDay=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollDay.File=D:/Latihan/log4jimplementation/log/daily.log
log4j.appender.RollDay.ImmediateFlush=true
log4j.appender.RollDay.Threshold=ERROR
log4j.appender.RollDay.Append=true
log4j.appender.RollDay.DatePattern='.'yyyy-MM-dd
log4j.appender.RollDay.layout=org.apache.log4j.PatternLayout
log4j.appender.RollDay.layout.conversionPattern=%d [%t] %-5p %c - %m%n
# ini untuk log yang dikirim ke email
#set class SMTPAppender si log4j
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.To=winzaldi@mail-server.co.id
log4j.appender.mail.From=winzaldi@mail-server.co.id
log4j.appender.mail.SMTPHost=mail.mail-server.co.id
log4j.appender.mail.Threshold=ERROR
log4j.appender.mail.BufferSize=1
log4j.appender.mail.Subject=Application Error Occurred[ APP LOG4J IMPLEMENTATION ]
log4j.appender.mail.layout=org.apache.log4j.HTMLLayout
# ini untuk log yang disimpan ke database
#set class JDBCAppender si log4j
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.Threshold=ERROR
log4j.appender.db.URL=jdbc:mysql://localhost:3306/test
log4j.appender.db.driver=com.mysql.jdbc.Driver
log4j.appender.db.user=root
log4j.appender.db.password=
log4j.appender.db.sql=INSERT INTO LOGS VALUES('aldi','%d{yyyy-MM-dd HH:mm:ss}','%C','%p','%m')
log4j.appender.db.layout=org.apache.log4j.PatternLayout
Ouput :
Gambar 1 : Contoh hasil dari Log yang ditampilkan di console
Gambar 2 : Contoh hasil dari Log yang ditampilkan di File and FileDailyAppender
Gambar 3 : Contoh hasil dari Log yang insert ke dalam Database
Gambar 4 : Contoh hasil dari Log yang kirim ke Email