Logging best practice pada aplikasi berbasis SOA
-
Upload
dimas-prawira -
Category
Engineering
-
view
136 -
download
6
description
Transcript of Logging best practice pada aplikasi berbasis SOA
Logging Best Practice
Fault Handling pada aplikasi berbasis SOA
Agenda
• Apa itu Log? Dan kenapa penting?• Jenis Log• Log Context• Log Management
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.
Jenis Log
• Application Logic Log• Application Performance Log– Custom Log– JVM Thread Dump
• Application Framework Log• HTTP Access Log• OS dan DB Log• …
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.
Contoh Kode Logimport 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"); } }
Contoh Log “Matrix” pada Rest Service Support System
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?
Appender• Memisahkan log yang serupa dalam satu file yang sama • Memudahkan analysis
# Root logger optionlog4j.rootLogger=INFO, file # Direct log messages to a log filelog4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\\glassfish3\\glassfish\\domains\\domain1\\logs\\SSWebAPI\\SSWebAPI.loglog4j.appender.file.MaxFileSize=10MBlog4j.appender.file.MaxBackupIndex=10log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n
Resources
• http://endy.muhardin.googlepages.com/minibook-log4j.pdf