8:25

Como Usar Log4j en Netbeans 6.7 ( salida a MsSql Express )



Para ver como usar Log4j en Netbeans: addLog4J

1) Como Instalo el Driver para conectar con MsSql Express ?


Hay que bajar el driver JDBC MsSql: Bajar

Luego ejecutarlo para desempaquetarlo y extraer el archivo "sqljdbc4.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 "sqljdbc4.jar" que descomprimimos hace instantes.

Netbeans incorporará este nuevo .jar a nuestro proyecto.



2) Como creo la base de datos en Ms-Sql Express

Se supone que MS-Sql Express esta instalado

Para crear la base de datos "midb" y la tabla "log" usaremos la herramienta sqlcmd

En una consola escribiremos:

C:>sqlcmd -U sa -P contraseña -S localhost

El cursor cambiará y se mostrará de la siguiente manera: 1>

Crearemos la base de datos

1> create database midb
2> go

1>use midb
2> go

Crearemos la tabla log

1>create table log (ID int not null identity primary key, OBJETO varchar(50), PRIORIDAD varchar(50), FECHA varchar(50), MENSAJE varchar(50))
2> go



Con esto ya tenemos creada la base de datos y la tabla en MsSql Express




3) Como hago el archivo de Configuración?

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
"Log4jMsSql" y presionamos el botón finish.

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


#Definimos granulidad y el nombre del logger
log4j.rootCategory= INFO, DB

#Configuramos el tipo de Appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
#URL de la base de datos
log4j.appender.DB.URL=jdbc:sqlserver://localhost;databaseName=midb
#Configuramos el driver
log4j.appender.DB.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#usuario de la base de datos (cambiar el usuario por el adecuado)
log4j.appender.DB.user=sa
#Contraseña de la base de datos (cambiar la contraseña por la adecuada)
log4j.appender.DB.password=contraseña
#Configuramos el Layout
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
#Consulta SQL
log4j.appender.DB.sql=INSERT INTO log VALUES('%c','%p','%d','%m')




4) 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 (o la clase que usemos) lo podemos obtener con el método getResource().

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

Despúes cargamos el archivo de configuración

PropertyConfigurator.configure(url);


Aca les dejo el método listo para copiar:

public static void log4jMsSql(){

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

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





Una clase Main completa para probar el ejemplo:


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.log4jMsSql();
}


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

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



Saludos.

0 comentarios:

Publicar un comentario