¡Esta es una revisión vieja del documento!
Herramienta para el registro de datos\sucesos en el código (logs) de forma secuencial en Java.
Permiten activar y desactivar ciertas sentencias de log. Se gestionan en una relación padre-hijo a partir de un nombre separado por puntos, donde el padre es el elemento anterior al otro. Por ejemplo com.foo es padre de com.foo.bar.
Siempre existirá el logger root (al cual no puede accederse por el nombre). Para utilizarlo llamaremos al método estático Logger.getRootLogger (para llamar a otro utilizaremos Logger.getLogger).
debug, info warn, error, fatal o log; son métodos que imprimen en un nivel concreto de un logger. Por ejemplo si objLog es un objeto de la clase Logger llamando a su método objLog.info(“…”) enviará una petición de loggin a nivel de INFO.
* public void log(Level l, Object message), método genérico para imprimir.
=== Niveles ===
Los niveles que pueden asignarse a un logger son DEBUG, INFO, WARN, ERROR y FATAL definidos en la clase org.apache.log4j.Level''. Si no se llega a asignar un nivel a un logger entonces lo heredará de su antecesor. En el siguiente ejemplo únicamente root tiene un nivel asignado (Proot) y este es heredado.
| Nombre | Nivel | Definitivo |
|---|---|---|
| root | Proot | Proot |
| X | ninguno | Proot |
| X.Y | ninguno | Proot |
| X.Y.Z | ninguno | Proot |
En este todos los loggers tienen un nivel, no existe herencia:
| Nombre | Nivel | Definitivo |
|---|---|---|
| root | Proot | Proot |
| X | Px | Px |
| X.Y | Pxy | Pxy |
| X.Y.Z | Pxyz | Pxyz |
En el siguiente tanto X como X.Y.Z no utilizan la herencia porque tienen un nivel asignado. X.Y hereda de X.
| Nombre | Nivel | Definitivo |
|---|---|---|
| root | Proot | Proot |
| X | Px | Px |
| X.Y | ninguno | Px |
| X.Y.Z | Pxyz | Pxyz |