Utilizar Log4j es muy fácil
Log4j es una librería Java que nos facilita mucho el uso de ficheros de Log. Un fichero de log nos permite depurar y mantener la aplicación. Simplemente es un fichero donde se irán añadiendo cadenas de texto conforme nuestro programa se ejecute. De esta manera, cuando no tengamos otro sistema de debug disponible (por ejemplo, en tiempo de ejecución), podremos saber qué ocurre con nuestra aplicación.
Código
import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator;
public class TestLogger{
public static void main(String[] args) { try { // carga fichero de configuracion de log PropertyConfigurator.configure(TestLogger.class.getResourceAsStream("log4j.properties")); Logger logger = LogManager.getLogger(TestLogger.class); logger.error("error de prueba"); } catch (IOException ex) { ex.printStackTrace(); }
}
}Donde "log4j.properties" es el fichero de configuración del Logger. (no es obligatorio, pero si no lo añadimos, nos utilizará la configuración por defecto, la cual es mostrar los mensajes de log por consola).
La sentencia "logger.error("error de prueba")", es un ejemplo de inserción de mensajes de log.
** Nota: en este ejemplo, estoy utilizando la versión de la librería log4j-1.2.17.jar, la cual, simplemente, añadiremos a nuestro proyecto.
Fichero de configuración de log4j
El contenido de "log4j.properties" es el siguiente
# Root logger option log4j.rootLogger=DEBUG, file, stdout # Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\\LOGS\\outLog.txt log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Donde le indicamos que el nivel más bajo de LOG que queremos mostrar es el nivel DEBUG. Esto significa que todo lo que ocurra en el programa cuya importancia sea mayor o igual al nivel DEBUG, se añadirá al log, y lo que tenga menor importancia no se añadirá.
Estos son los niveles de prioridad: (cuanto más alto, mayor prioridad o gravedad)
- OFF
- FATAL
- ERROR
- WARN
- INFO
- DEBUG
- TRACE
- ALL
También le especificamos que el log nos lo muestre tanto por consola (stdout) como en un fichero de log (file).
Por último, detallamos algunas opciones como la ruta del fichero de log de output y el tamaño máximo del fichero de log, para que no crezca indefinidamente.
log4j.appender.file.File=C:\\LOGS\\outLog.txt log4j.appender.file.MaxFileSize=10MB
En resumen, una manera muy simple de tener un log en nuestras aplicaciones y saber qué ocurre en tiempo de ejecución.
No hay comentarios:
Publicar un comentario