View Javadoc
1   package booking.controller.common;
2   
3   import java.lang.reflect.Method;
4   import java.util.ArrayList;
5   
6   import org.apache.log4j.Logger;
7   import org.springframework.aop.AfterReturningAdvice;
8   import org.springframework.aop.MethodBeforeAdvice;
9   
10  public class AopLogger implements MethodBeforeAdvice, AfterReturningAdvice {
11  	@SuppressWarnings({ "rawtypes", "unchecked" })
12  	public void before(Method method, Object[] args, Object target) throws Throwable {
13  		Logger logger = Logger.getLogger(target.getClass());
14  		// Recogemos los parametros de entrada.
15  		
16          ArrayList arguments = new ArrayList();
17  		for (Object arg : args) {
18  			arguments.add((arg != null) ? arg.toString() : null);
19  		}
20  
21  		logger.info(method.getName() + "() - Inicio - Parametros: " + arguments);
22  
23  	}
24  
25  	public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
26  		// logger.info(method.getDeclaringClass().getName() + "." +
27  		// method.getName() + " - Fin OK");
28  		Logger logger = Logger.getLogger(target.getClass());
29  		logger.info(method.getName() + "() - Fin");
30  	}
31  }