com.ejie.r01f.log
Class R01FLog

java.lang.Object
  extended byjava.util.logging.Logger
      extended bycom.ejie.r01f.log.R01FLog

public final class R01FLog
extends java.util.logging.Logger

CLASE DE LOG EJIE
-----------------------------------------
Esta clase controla el log en el sistema (System.out) de la siguiente forma:
Existen diferentes niveles de log que de mayor a menor nivel son: ALL: Todo; FINEST: Mensajes de debug de nivel bajo; FINER: Mensajes de debug de nivel medio; FINE: Mensajes de debug de alto nivel; CONFIG: Partes de configuracion; INFO Informacion; WARNING: Alertas; SEVERE: Condiciones extremas (excepciones, etc); OFF: No se hace log Para decidir si el texto se manda a la salida se utilizan las siguientes reglas: - Si el nivel de log especificado en el fichero properties.xml es MAYOR que el especificado en el codigo java, SE HACE LOG ej: properties: FINE java: INFO - Si el nivel de log especificado en el fichero properties.xml es MENOR que el especificado en el codigo java, NO SE HACE LOG ej: properties: INFO java: FINE En definitiva se hace log de todos los niveles que están por debajo del nivel especificado en el fichero de properties En el fichero properties.xml de la aplicación se ha de incluir un apartado dedicado al log que indica los niveles de log de cada componente o el nivel de log global que tiene preferencia sobre el de los componentes, salvo que en el componente se indique el parametro ignoreGlobal='true'
<logger level='OFF/SEVERE/WARGING...'>
<handler id='CONSOLE/FILE/SOCKET/STREAM'> <property id='__'>__propertyValue__</property> <property id='__'>__propertyValue__</property> .... </handler> <component name='__' level='OFF/SEVERE/WARNING...' ignoreGlobal='true/false'> <component name='__' level='OFF/SEVERE/WARNING...' ignoreGlobal='true/false'> ....
</logger>
En el codigo java se haran llamadas estandar del API de log JDK1.4, a las que se añaden dos parametros: El codigo de la aplicación y el componente dentro de la aplicacion R01FLog.to("r01d.sql").severe("mi texto de log" ); R01FLo.to("r01d.sql").info("mi texto de log" ); R01FLog.to("r01d.sql").logp(Level.SEVERE,"com.ejie.miPaquete.miClase","miMetodo","mi texto de log" ); El handler encargado de escribir el log se indica tambien en el fichero de configuracion Para cada handler se pueden establecer una serie de propiedades de configuracion como el nombre del fichero si se hace log a fichero. Los handlers admitidos son: CONSOLE: Saca los mensajes de log por la consola FILE: Escribe los mensajes de log en un fichero SOCKET: Escribe los mensajes de log a un socket que escucha en un puerto de una máquina IMPORTANTE: La configuración de log se puede mantener en dos sitios: - En el fichero .properties de la aplicación - En un fichero EXTERNO al fichero .properties de la aplicación. En este caso, es necesario indicar la propiedad en el fichero .properties


Field Summary
 
Fields inherited from class java.util.logging.Logger
global
 
Constructor Summary
R01FLog(java.lang.String name, java.lang.String resourceBundleName)
           
 
Method Summary
static com.ejie.r01f.log.R01FLog.AppLogDef getApplicationLogDef(java.lang.String appCode)
          Obtiene la definicion de log de una aplicacion
static com.ejie.r01f.log.R01FLog.CompLogDef getComponentLogDef(java.lang.String appCode, java.lang.String component)
          Obtiene la definicion de log de un componente de una aplicacion
static java.util.logging.Logger getLogger(java.lang.String name)
          Obtiene un logger a la aplicación especificada en el parametro name.
static java.util.logging.Level getLogLevel(com.ejie.r01f.log.R01FLog.AppLogDef appLogDef, com.ejie.r01f.log.R01FLog.CompLogDef compLogDef)
          Obtiene el nivel de log del componente de la aplicacion especificada
static java.util.logging.Level getLogLevel(java.lang.String name)
          Obtiene el nivel de log del componente de la aplicacion especificada en el formato codigoApp.componente
static java.util.logging.Level getLogLevel(java.lang.String appCode, java.lang.String component)
          Obtiene el nivel de log del componente de la aplicacion especificada
static void reset()
          Recarga todas las definiciones de log
static java.util.logging.Logger to(java.lang.String name)
          Obtiene un logger a la aplicación especificada en el parametro name.
 
Methods inherited from class java.util.logging.Logger
addHandler, config, entering, entering, entering, exiting, exiting, fine, finer, finest, getAnonymousLogger, getAnonymousLogger, getFilter, getHandlers, getLevel, getLogger, getName, getParent, getResourceBundle, getResourceBundleName, getUseParentHandlers, info, isLoggable, log, log, log, log, log, logp, logp, logp, logp, logrb, logrb, logrb, logrb, removeHandler, setFilter, setLevel, setParent, setUseParentHandlers, severe, throwing, warning
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

R01FLog

public R01FLog(java.lang.String name,
               java.lang.String resourceBundleName)
Parameters:
name -
resourceBundleName -
Method Detail

reset

public static void reset()
Recarga todas las definiciones de log


getLogger

public static java.util.logging.Logger getLogger(java.lang.String name)
Obtiene un logger a la aplicación especificada en el parametro name. El formato del parametro name es: codigoApp.componente Utilizando esta información se obtiene el nivel de log del fichero de propiedades de la aplicación.

Parameters:
name - La aplicación de la que se hace log

to

public static java.util.logging.Logger to(java.lang.String name)
Obtiene un logger a la aplicación especificada en el parametro name. El formato del parametro name es: codigoApp.componente Utilizando esta información se obtiene el nivel de log del fichero de propiedades de la aplicación.

Parameters:
name - La aplicación y el component de la que se hace log
Returns:
un logger

getLogLevel

public static java.util.logging.Level getLogLevel(java.lang.String name)
Obtiene el nivel de log del componente de la aplicacion especificada en el formato codigoApp.componente

Parameters:
name - codigoApp.componente
Returns:
El nivel de log efectivo

getLogLevel

public static java.util.logging.Level getLogLevel(java.lang.String appCode,
                                                  java.lang.String component)
Obtiene el nivel de log del componente de la aplicacion especificada

Parameters:
appCode - El codigo de aplicacion
component - El nombre del componente
Returns:
El nivel de log efectivo

getLogLevel

public static java.util.logging.Level getLogLevel(com.ejie.r01f.log.R01FLog.AppLogDef appLogDef,
                                                  com.ejie.r01f.log.R01FLog.CompLogDef compLogDef)
Obtiene el nivel de log del componente de la aplicacion especificada

Parameters:
appLogDef - La definicion de log de la aplicacion
compLogDef - La definicion de log del componente
Returns:
El nivel de log efectivo

getApplicationLogDef

public static com.ejie.r01f.log.R01FLog.AppLogDef getApplicationLogDef(java.lang.String appCode)
Obtiene la definicion de log de una aplicacion

Parameters:
appCode - El codigo de aplicacion
Returns:
El nivel de log de la aplicacion

getComponentLogDef

public static com.ejie.r01f.log.R01FLog.CompLogDef getComponentLogDef(java.lang.String appCode,
                                                                      java.lang.String component)
Obtiene la definicion de log de un componente de una aplicacion

Parameters:
appCode - El codigo de aplicacion
component - El componente
Returns:
La definicion de log del componente