Apache Commons Logging (anteriormente conocido como Jakarta Commons Logging o JCL ) es una utilidad de registro basada en Java y un modelo de programación para el registro y otros kits de herramientas. Proporciona API , implementaciones de registro e implementaciones de envoltura sobre algunas otras herramientas. [1] [2] [3]
Desarrollador (es) | Fundación de software Apache |
---|---|
Lanzamiento estable | 1.2 / julio de 2014 |
Repositorio | github |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | Herramienta de registro |
Licencia | Licencia Apache 2.0 |
Sitio web | commons |
Nivel de registro
La siguiente tabla define los niveles de registro y los mensajes en Apache Commons Logging, en orden decreciente de gravedad. La columna de la izquierda enumera la designación del nivel de registro y la columna de la derecha proporciona una breve descripción de cada nivel de registro.
Nivel | Descripción |
---|---|
fatal | Errores graves que provocan la terminación prematura. Espere que sean visibles de inmediato en una consola de estado. |
error | Otros errores de tiempo de ejecución o condiciones inesperadas. Espere que sean visibles de inmediato en una consola de estado. |
advertir | Uso de API en desuso, mal uso de API, "casi" errores, otras situaciones de tiempo de ejecución que son indeseables o inesperadas, pero no necesariamente "incorrectas". Espere que sean visibles de inmediato en una consola de estado. |
info | Eventos interesantes en tiempo de ejecución (inicio / apagado). Espere que sean visibles de inmediato en una consola, así que sea conservador y manténgalo al mínimo. |
depurar | Información detallada sobre el flujo a través del sistema. Espere que estos se escriban solo en registros. |
rastro | Información más detallada. Espere que estos se escriban solo en registros. |
Configuración
En Apache Commons Logging se utilizan dos abstracciones básicas, Log y LogFactory. [3]
Ejemplo
El código de muestra puede tener el siguiente aspecto:
paquete com.cascadetg.ch09 ;import org.apache.commons.logging.Log ; import org.apache.commons.logging.LogFactory ; import org.apache.commons.logging.impl.Jdk14Logger ;public class LogGenerator { // Tenga en cuenta que pasa una instancia de esta clase al // generador de registros. Esto le permite encontrar los mensajes // generados por esta clase. registro de registro estático privado = LogFactory . getLog ( clase LogGenerator . ); public static void configJDKLogger () { try { (( Jdk14Logger ) log ). getLogger (). setLevel ( java . util . registro . Nivel . TODOS ); (( Jdk14Logger ) registro ). getLogger (). addHandler ( ( java . util . logging . FileHandler ) Class . forName ( "java.util.logging.FileHandler" ) . newInstance ()); Sistema . fuera . println ( "Agregado manejador de archivos JDK 1.4" ); } catch ( Excepción e ) { System . fuera . println ( "No se puede cargar el registro de JDK 1.4." ); e . printStackTrace (); } } public static void main ( String [] args ) { configJDKLogger (); Sistema . setErr ( System . cabo ); Sistema . fuera . println (); Sistema . fuera . println ( "Prueba de registro fatal" ); intente { String foo = null ; int x = 0 / ( nuevo entero ( foo )). intValue (); } captura ( Excepción e ) { log . fatal ( e . getMessage (), e ); } Sistema . fuera . println (); Sistema . fuera . println ( "Registro de errores de prueba" ); intente { Objeto foo = null ; foo . toString (); } captura ( Excepción e ) { log . error ( p . getMessage (), e ); } Sistema . fuera . println (); Sistema . fuera . println ( "Registro de advertencias de prueba" ); prueba { Class . forName ( "com.cascadetg.NonexistantClass" ); } captura ( Excepción e ) { log . warn ( "¡No puedo encontrar una clase que no existe!" ); } Sistema . fuera . println (); Sistema . fuera . println ( "Registro de información de prueba" ); log . info ( "¡Iniciando aplicación!" ); log . info ( "¡Saliendo de la aplicación!" ); Sistema . fuera . println (); Sistema . fuera . println ( "Prueba de registro de depuración" ); si ( 1 > 2 ) { log . debug ( "1> 2 evaluado como verdadero" ); si ( 10 % 2 == 0 ) log . debug ( "10% 2 es 0" ); más registro . debug ( "10% 2 no es 0" ); } else { log . debug ( "1> 2 evaluado falso" ); } Sistema . fuera . println (); Sistema . fuera . println ( "Registro de seguimiento de prueba" ); log . trace ( "Método de seguimiento de llamada." ); log . trace ( "Método de seguimiento de llamada." ); log . trace ( "Método de seguimiento de llamada." ); log . trace ( "Método de seguimiento de llamada." ); log . trace ( "Método de seguimiento de llamada." ); Sistema . fuera . println (); Sistema . fuera . println ( "Prueba de registro completada" ); } }
Ver también
Referencias
- ^ "registro de bienes comunes" . Apache.org . Apache . Consultado el 12 de febrero de 2016 .
- ^ Zavala, DA; Lau, YC (2004). Integración de Jakarta Commons Logging con IBM WebSphere Application Server V5 . Corporación IBM. pag. 2.
- ^ a b c "contenido" . Apache.org . Apache . Consultado el 12 de febrero de 2016 .
- ^ a b Iverson, W. (2005). Apache Jakarta Commons: componentes Java reutilizables . Crawfordsville, Indiana, EE.UU .: Pearson Education, Inc. págs. 120–122.