Usar un log para eventos con log4j

Hoy rápidamente vamos a revisar como configurar un log para que nuestra aplicaciòn pueda registrar eventos, usaremos la librería de apache log4j que pueden descargar aquí
Antes que nada se debe agregar el log4j al proyecto o a las librerías de java para crear e instanciar un objeto Loggger con la siguiente linea:
org.apache.log4j.Logger log=org.apache.log4j.Logger.getLogger(getClass());
Después se debe configurar el objeto logger mediante un archivo .properties donde se se especifican, por ejemplo; Tamaño máximo del log, ruta, nombre, formato para escribir eventos,niveles de la traza entre otras muchas cosas. Aquí les pongo uno ya configurado (El nombre de este archivo puede ser cualquiera):

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=ALL, Consola, File

# A1 is set to be a ConsoleAppender.
log4j.appender.Consola=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.Consola.layout=org.apache.log4j.PatternLayout
log4j.appender.Consola.layout.ConversionPattern=[Time: %d] [Level: %p] [Message: %m] [Category: %c{2}]%n

# File is set to be a FileAppender.
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.MaxFileSize=5000KB
log4j.appender.File.MaxBackupIndex=1

# File user PatternLayout.
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.File=Eventos.log
log4j.appender.File.append=true

Si desean saber mas acerca de las configuraciones de este archivo pueden echarse un clavado aquí

Ya creado es solo cuestión de pasar la ruta del archivo al método para configurar el objeto con la siguiente linea:
org.apache.log4j.PropertyConfigurator.configure("C:\\ruta\\Ejemplo\\Log.properties");

Así de sencillo tenemos nuestro log para guardar eventos, por ultimo un ejemplo completo:
/**
 *
 * @author _aldovar  */
public class PruebaLog4j {
    public  org.apache.log4j.Logger log=org.apache.log4j.Logger.getLogger(getClass());

    public PruebaLog4j() {
        org.apache.log4j.PropertyConfigurator.configure("C:\\ruta\\Ejemplo\\Log.properties");
        //Linea para escribir eventos debug en el log
        log.debug("Hola Javeros Anònimos!");
        //Linea para escribir eventos de error en el log
        log.error("Error! Javeros Anònimos!");
        //Linea para escribir informaciòn en el log
        log.info("ALerta! Javeros Anònimos!");
    }

    public static void main(String [] args){
        new PruebaLog4j();
    }
}

Post a Comment

Artículo Anterior Artículo Siguiente