Jdk14Logger es una implementación de la interfaz org.apache.commons.logging.Log, al mismo tiempo es un Wrapper del framework java.util.logging que se introdujeron en la versión Merlin (JDK 1.4).
Handlers
En palabras simples un handler es finalmente una clase responsable de escribir los logs en una salida como un archivo o la consola. Puedes tener varios handlers para una aplicación. Los dos handlers mas usados son:
- java.util.logging.FileHandler Escribe los logs en un archivo
- java.util.logging.ConsoleHandler Escribe los logs en la consola
Los handlers se configuran en el archivo de configuración que explicaremos más adelante, si no defines un archivo de configuración por defecto existirá el handler java.util.logging.ConsoleHandler, todos los logs se escribirán en la consola.
Algunas de las propiedades de los handlers son:
- java.util.logging.FileHandler.level=INFO
- java.util.logging.FileHandler.limit=5000000
- java.util.logging.FileHandler.count=10
- java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
- java.util.logging.FileHandler.pattern=tes_log
- java.util.logging.FileHandler.append=false
Loggers
Son los objetos loggers, debes tener cuidado al crear una instancia, te recomiendo crearlo de la siguiente manera
private static final Logger logger = Logger.getLogger(Database.class.getCanonicalName());
Los loggers quedarán organizados de forma jerárquica según los paquetes en donde se encuentren
Levels
java.util.logging.Level define diferente niveles de logging. Hay 7 niveles de logging en Java
- SEVERE (el mas alto)
- WARNING
- INFO
- CONFIG
- FINE
- FINER
- FINEST
Hay otros dos niveles de logging, OFF que "apaga o ignora" todas las sentencias de logging y ALL que registra todas las sentencias de logging.
Te recomiendo probar todos los niveles de logging para que puedes comprender mejor su funcionamiento y prioridad.
Jerarquía de Levels
Los Levels son muy flexible y debes tener claro como es la Jerarquía
- .level Es el level global y tiene la jerarquía más alta
- handler.level Cada handler puede tener un level propio, este no debe ser más alto que el global. Por ejemplo si en global tienes el level INFO entonces el handler puede tener los levels INFO, WARNING Y SEVERE
- logger.level Cada Logger puede tener un level propio, este no debe ser más alto que el level del handler
Te dejo un ejemplo de un archivo de configuración
Referencia
https://sematext.com/blog/java-logging/#toc-javautillogging-2
https://medium.com/el-acordeon-del-programador/logs-en-java-con-java-util-logging-d344ae2ba7bc
No hay comentarios:
Publicar un comentario