Como usar SLF4J con log4j

Para poder usar log4j con SLF4J simplemente hay que añadir al proyecto además de la librería de log4j las librerías slf4j-api-1.7.5.jar y slf4j-log4j12-1.7.5.jar que es el adaptador necesario para usar log4j.

Una vez importados los .jar correspondientes hay que incluir el log4j.properties en src si se usa eclipse o en Source Packages si se usa Netbeans porque es en esta ubicación en la que se busca por defecto.

Y con los .jar y el log4j.properties incluidos en el proyecto ya se puede usar nuestro sistema de logging.


package es.com.blogspot.programandoointentandolo.slf4j;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *
 * @author Ivan Salas Corrales
 * <http://programandoointentandolo.com>
 */
 
public class PruebaSLF4J {
  public static void main(String[] args) {

    private Logger log = LoggerFactory.getLogger(PruebaSLF4J.class);  

    log.debug("Hola");
    log.warn("Un mensaje de advertencia");
  }
}

No es muy distinto de utilizar log4j solo que usarlo con SLF4J en cuanto al código ya que la única diferencia en el ejemplo anterior es que para obtener el logger en lugar de hacerlo sobre Logger (private Logger log = Logger.getLogger(PruebaSLF4J.class);) como se hace en log4j hay que hacerlo sobre LoggerFactory y la otra diferencia que se puede ver en este ejemplo super básico es que no hace falta cargar el log4j.properties con PropertyConfigurator.configure(«log4j.properties»); si como decía antes se coloca en la carpeta src de nuestro proyecto.

En este otro post puedes ver un ejemplo de como usar log4j

Y para terminar un ejemplo de log4j.properties:


# Se mostraran los mensajes desde el nivel debug en los appenders C (consola) y F (fichero)
log4j.rootLogger=DEBUG, C, F

# C is set to be a ConsoleAppender.
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# F is set to be a RollingFileAppender
log4j.appender.F=org.apache.log4j.RollingFileAppender
log4j.appender.F.File=logs/MiAplicacion.log
log4j.appender.F.Append=true

log4j.appender.F.MaxFileSize=100KB
log4j.appender.F.MaxBackupIndex=1

log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

Si quieres puedes descargarte aquí un ejemplo de uso muy sencillo de una aplicación de escritorio y otro de una aplicación web igualmente solo para ver el uso del logging.

2 Comments

  1. jose jose 6 octubre, 2013 Reply
    • Iván Salas 7 octubre, 2013 Reply

Leave a Reply