2. Agenda
• Apa itu Log? Dan kenapa penting?
• Jenis Log
• Log Context
• Log Management
3. Apa itu Log? Dan kenapa penting?
• Menurut definisi wikipedia : “Computer data logging is the process of
recording event, with a computer program usually an application software
in a certain scope in order to provide an audit trail that can be used to
understand the activity of the system and to diagnose problems.”
• Log sangat penting dalam proses untuk mengerti aktivitas aplikasi dan
mendiagnosa masalah / bug.
• Tanpa Log
– Kita tidak bisa mengerti aktivitas aplikasi
– Kalau ada error tidak tahu apa yang terjadi.
– Akhirnya error tidak bisa diperbaiki.
4. Jenis Log
• Application Logic Log
• Application Performance Log
– Custom Log
– JVM Thread Dump
• Application Framework Log
• HTTP Access Log
• OS dan DB Log
• …
5. Log Framework di Java
• Java Common log API : log bawaan JDK/JRE
• Log4J : standard de facto logging di Java
• LogBack : dibuat oleh orang-orang pembuat
Log4J, ditujukan sebagai penerus dari Log4J.
• SLF4J : API Log yang dibuat agar seragam,
apapun implementasi log dibelakangnya kode
tetap sama.
6. Contoh Kode Log
import org.apache.log4j.Logger; import java.io.*;
import java.sql.SQLException; import java.util.*;
public class log4jExample{
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger( log4jExample.class.getName());
public static void main(String[] args) throws IOException,SQLException{
// Log severity debug //
log.debug("Hello this is an debug message");
// Log severity info / information //
log.info("Hello this is an info message");
}
}
8. Log Context
• Context dari Log di slide sebelumnya :
– Waktu
– Log Severity (INFO, ERROR)
– Informasi ID, dimana aplikasi sedang memproses.
– Keterangan Log / History Proses yang dilakukan.
Pertanyaan User :
• Saya melakukan login kedalam sistem pada
jam 10 malam hari ini tapi gagal, apa yang
terjadi?
9. Appender
• Memisahkan log yang serupa dalam satu file yang sama
• Memudahkan analysis
# Root logger option
log4j.rootLogger=INFO, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:glassfish3glassfishdomainsdomain1logsSSWebAPISSWebA
PI.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n