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.
[…] lo que permite que puedas cambiar de una a otra sin tener que estar modificando todo el código. En este otro post puedes ver como usar log4j con […]
Hola, podrías enseñarme una captura de pantalla de como quedan los archivos incluidos en el netbeans?
Ya que realice todos los pasos indicados y no se por que no esta funcionando, no veo el logger por ninguna parte.
Saludos y gracias por tu ayuda
He subido 2 ejemplos de proyectos, uno web y otro de escritorio para que veas que estas poniendo mal.