16:58

Como Usar Log4j en Netbeans 6.7 ( Salida a un Archivo )



Pasos:

Para configurar Log4J en Netbeans

Crear el archivo de Configuración

Decirle a Log4J que archivo tiene que usar




1) Como hago el archivo de configuración?

Para enviar la salida del Log4j a un archivo vamos a utilizar un archivo .properties

En Netbeans apretamos el botón derecho del mouse sobre el paquete de nuestras clases seleccionamos New -> Other vamos a la carpeta Other y allí elegimos "Properties File" presionamos siguiente y modificamos el nombre para que quede Log4j y presionamos el botón finish.

Netbeans nos abre automaticamente el archivo Log4j.properties, dentro de este archivo colocamos:


# Definimos granularidad (DEBUG) y el nombre del Logger= Archivo
log4j.rootCategory= DEBUG, Archivo

#Configuramos el tipo de Appender: FileAppender ,RollingFileAppender, DailyRollingFileAppender
log4j.appender.Archivo=org.apache.log4j.FileAppender
#Configuramos el archivo donde queremos que se almacene el log
log4j.appender.Archivo.File=C:\\aplicacion.log
#Configuramos un Layout
log4j.appender.Archivo.layout=org.apache.log4j.PatternLayout
#Modificamos el tipo de salida
#%d (fecha) - %t (metodo) - %p (prioridad) - %c{4} (clase)
# %m (mensaje) - %n ("\n")
log4j.appender.Archivo.layout.ConversionPattern=%d %t %p [%c{4}] %m%n


Guardamos los cambios y con eso ya tenemos el archivo de configuración de Log4j que vamos a utilizar



2) Como le digo a mi aplicación que use ese archivo de Configuración?

Creamos un método estático que va a ser llamado desde el main() de la aplicación

Primero obtenemos la url del archivo de configuración, como están en el mismo paquete que la clase Main lo podemos obtener con el método getResource().

URL url = Main.class.getResource("Log4j.properties");

Despúes cargamos el archivo de configuración

PropertyConfigurator.configure(url);

Aca les dejo el metodo listo para copiar:

public static void log4jArchivo(){

URL url = Main.class.getResource("Log4j.properties");
PropertyConfigurator.configure(url);

logger.info("Entrando a la Aplicacion");
System.out.println("Mensaje por Consola");
logger.info("Saliendo de la Aplicacion");
}


Y eso es todo. Aca les dejo una clase para que prueben:


import java.net.URL;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PropertyConfigurator;


public class Main {
static Logger logger = Logger.getLogger(Main.class);


public static void main(String[] args) {

Main.log4jArchivo();
}

public static void log4jArchivo(){
URL url = Main.class.getResource("Log4j.properties");
PropertyConfigurator.configure(url);

logger.info("Entrando a la Aplicacion");
System.out.println("Mensaje por Consola");
logger.info("Saliendo de la Aplicacion");
}

}


Esta forma de log es la mas utilizada. Espero que les sea útil

13:33

Como Usar Log4j en Netbeans 6.7 ( salida por Consola )




Que es
Log4J?

Es biblioteca open source que nos permite generar la información del Log del sistema de manera fácil y rápida en tiempo de ejecución. La información que contiene el Log del sistema son mensajes que genera el sistema frente a una funcionalidad, error u otro evento; los cuales se almacenan para ser analizado con posterioridad.


Que Necesito para usar
Log4J en Netbeans?

Es necesario incorporar a nuestro proyecto la librería Log4J
Para bajarla: Log4J



Como lo agrego a Netbeans?

Descomprimimos el paquete y extraemos el archivo: log4j-1.2.15.jar

Desde Netbeans presionamos el botón derecho del mouse sobre la carpeta "Libraries" de nuestro proyecto

Seleccionamos "Add JAR/Folder..." y elegimos el archivo "log4j-1.2.15.jar" que descomprimimos hace instantes.

Netbeans incorporará este nuevo .jar a nuestro proyecto.


Como lo uso desde mi proyecto?

Este es un ejemplo básico de Log4J utilizando la consola como salida:

1) hay que importar algunas clases

import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;


2) Dentro de mi clase creo un atributo estático de clase Logger:


public class Main(){

// Logger.getLogger(Main.Class) para saber cual es la clase que esta generando el log

static Logger logger = Logger.getLogger(Main.class)

}


3) Dentro de un método uso el logger para enviar los mensajes a la consola:


import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;

public class Main(){

// Logger.getLogger(Main.Class) para saber cual es la clase que esta generando el log

static Logger logger = Logger.getLogger(Main.class)

public static void main(String[] args){

BasicConfigurator.configure() ;

logger.info("Iniciando la Aplicacion") ;
System.out.println("Mensaje por Consola") ;
logger.info("Saliendo de la Aplicacion") ;
}

}



4) En Netbeans, presionamos F6 para correr la aplicación.

La consola nos mostrará algo así:

0 [main] INFO pruebalog4j.Main - Iniciando la Aplicacion
Mensaje por Consola
0 [main] INFO pruebalog4j.Main - Saliendo de la Aplicacion



Este ejemplo no nos va a servir de mucho, solamente es para practicar como utilizar la libreria.