es.mcu.yingo.interceptor
Class LogInterceptor

java.lang.Object
  extended by es.mcu.yingo.interceptor.LogInterceptor
All Implemented Interfaces:
org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor

public class LogInterceptor
extends java.lang.Object
implements org.aopalliance.intercept.MethodInterceptor

Clase que se ejecuta al interceptar la ejecución de los beans que se configuren a través de uno de los mecanismos de progemación orientada a aspectos de "Spring"

La funcionalidad es al siguiente:
Antes de ejecutar el método de la clase interceptada, se escribe una traza en el log, con la información de la ejecución.
Si se configura para ello, también es posible que se escriba una traza de log, al salir del método invocado
Los getters y los setters se ignoran

Author:
carlos.garcia.h

Field Summary
private static int LEVEL_DEBUG
           
private static int LEVEL_ERROR
           
private static int LEVEL_FATAL
          Constantes que definen los distintos niveles de log en la configuración log4j
private static int LEVEL_INFO
           
private static int LEVEL_TRACE
           
private static int LEVEL_WARN
           
private  org.apache.commons.logging.Log logger
          Utilidad log4j para la escritura de logs
(package private)  int tipoLog
          Propiedad que recoge por inversión de control el nivel de log deseado para la aplicación
(package private)  boolean trazaSalida
          Indica si queremos que se escriba una traza al salir de la ejecución del método, o únicamente antes de entrar a dicho método
 
Constructor Summary
LogInterceptor()
           
 
Method Summary
private  java.lang.String construirMensajeLog(java.lang.String nombreClase, java.lang.String nombreMetodo, java.lang.Object[] argum, java.lang.Long startTime)
          Construye el mensaje que se mostrará en los logs
private  void escribirTraza(java.lang.String mensaje)
          Escribe una traza en en modo indicado
private  void escribirTrazaEntrada(java.lang.String nombreClase, java.lang.String nombreMetodo, java.lang.Object[] arguments)
          Escribe la traza antes de entrar en el método interceptado
private  void escribirTrazaSalida(java.lang.String nombreClase, java.lang.String nombreMetodo, java.lang.Object[] arguments, java.lang.Long startTime)
          Escribe la traza una vez que se ha ejecutado el métod interceptado
 int getTipoLog()
          Propiedad que recoge por inversión de control el nivel de log deseado para la aplicación
 boolean getTrazaSalida()
          Indica si queremos que se escriba una traza al salir de la ejecución del método, o únicamente antes de entrar a dicho método
 java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation methodInvocation)
          Implementación del interfaz MethodInterceptor que se utiliza para la gestión de losgs de la aplicación
 void setTipoLog(int tipoLog)
          Propiedad que recoge por inversión de control el nivel de log deseado para la aplicación
 void setTrazaSalida(boolean trazaSalida)
          Indica si queremos que se escriba una traza al salir de la ejecución del método, o únicamente antes de entrar a dicho método
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private final org.apache.commons.logging.Log logger
Utilidad log4j para la escritura de logs


LEVEL_FATAL

private static final int LEVEL_FATAL
Constantes que definen los distintos niveles de log en la configuración log4j

See Also:
Constant Field Values

LEVEL_ERROR

private static final int LEVEL_ERROR
See Also:
Constant Field Values

LEVEL_WARN

private static final int LEVEL_WARN
See Also:
Constant Field Values

LEVEL_INFO

private static final int LEVEL_INFO
See Also:
Constant Field Values

LEVEL_DEBUG

private static final int LEVEL_DEBUG
See Also:
Constant Field Values

LEVEL_TRACE

private static final int LEVEL_TRACE
See Also:
Constant Field Values

tipoLog

int tipoLog
Propiedad que recoge por inversión de control el nivel de log deseado para la aplicación


trazaSalida

boolean trazaSalida
Indica si queremos que se escriba una traza al salir de la ejecución del método, o únicamente antes de entrar a dicho método

Constructor Detail

LogInterceptor

public LogInterceptor()
Method Detail

invoke

public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation methodInvocation)
                        throws java.lang.Throwable
Implementación del interfaz MethodInterceptor que se utiliza para la gestión de losgs de la aplicación

Specified by:
invoke in interface org.aopalliance.intercept.MethodInterceptor
Parameters:
methodInvocation -
Throws:
java.lang.Throwable

escribirTrazaSalida

private void escribirTrazaSalida(java.lang.String nombreClase,
                                 java.lang.String nombreMetodo,
                                 java.lang.Object[] arguments,
                                 java.lang.Long startTime)
Escribe la traza una vez que se ha ejecutado el métod interceptado

Parameters:
nombreClase -
nombreMetodo -
arguments -
startTime -

escribirTrazaEntrada

private void escribirTrazaEntrada(java.lang.String nombreClase,
                                  java.lang.String nombreMetodo,
                                  java.lang.Object[] arguments)
Escribe la traza antes de entrar en el método interceptado

Parameters:
name -
arguments -

escribirTraza

private void escribirTraza(java.lang.String mensaje)
Escribe una traza en en modo indicado

Parameters:
mensaje -

construirMensajeLog

private java.lang.String construirMensajeLog(java.lang.String nombreClase,
                                             java.lang.String nombreMetodo,
                                             java.lang.Object[] argum,
                                             java.lang.Long startTime)
Construye el mensaje que se mostrará en los logs

Parameters:
nombreClase -
nombreMetodo -
argum -
startTime -
Returns:

getTipoLog

public int getTipoLog()
Propiedad que recoge por inversión de control el nivel de log deseado para la aplicación

Returns:
the tipoLog

setTipoLog

public void setTipoLog(int tipoLog)
Propiedad que recoge por inversión de control el nivel de log deseado para la aplicación

Parameters:
tipoLog - the tipoLog to set

getTrazaSalida

public boolean getTrazaSalida()
Indica si queremos que se escriba una traza al salir de la ejecución del método, o únicamente antes de entrar a dicho método

Returns:
the trazaSalida

setTrazaSalida

public void setTrazaSalida(boolean trazaSalida)
Indica si queremos que se escriba una traza al salir de la ejecución del método, o únicamente antes de entrar a dicho método

Parameters:
trazaSalida - the trazaSalida to set