LogBack merupakan successor dari Log4j. Beberapa opensource semacam Sonar dan SpringSource dm Server telah menggunakan API ini. Log API ini punya dependency khusus terhadap SLF4j(Simple Logging Facade for Java).
Project semacam Hibernate,Apache Mina,Apache Camel maupun Tapestry telah menggunakan logging facade ini.
Salah satu fitur unggulan dari SLF4j adalah kemampuan untuk integrasi dengan beberapa log API seperti commons logging, log4j maupun java.util.logging pada saat deployment/runtime.
Bagi yang belum kenal SLF4J silahkan rujuk link berikut :
- http://www.slf4j.org/manual.html
Kemudahan implementasi Logback tidak diragukan lagi khususnya saat implementasi menggunakan parameter
Beberapa alasan kenapa kita perlu beralih ke Logback bisa dirujuk
dari link berikut :
- http://logback.qos.ch/reasonsToSwitch.html
Contoh implementasi SLF4J + Logback :
package com.visitama.logging;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author : satriana
*
*/
public class MyLoggingTest {
static final Logger log= LoggerFactory.getLogger(MyLoggingTest .class);
/**
* @param args
*/
public static void main(String[] args) {
MyLoggingTest console = new MyLoggingTest ();
console.execute();
}
public MyLoggingTest () {
}
public void execute() {
if (LOG.isTraceEnabled()) {
LOG.trace("Test: TRACE level message.");
}
if (LOG.isDebugEnabled()) {
LOG.debug("Test: DEBUG level message.");
}
if (LOG.isInfoEnabled()) {
LOG.info("Test: INFO level message.");
}
if (LOG.isWarnEnabled()) {
LOG.warn("Test: WARN level message.");
}
if (LOG.isErrorEnabled()) {
LOG.error("Test: ERROR level message.");
}
}
}
Konfigurasi logback.xml :
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<logger name="com.visitama" level="TRACE"/>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Sbelum eksekusi kode diatas jangan lupa setting classpath :
– logback-classic.x.x.x.jar
logback-core.x.x.x.jar
slf4j-api-x.x.x.jar
*Thanks*