package com.aja;
import org.springframework.aop.AfterReturningAdvice; import org.springframework.aop.MethodBeforeAdvice; import org.springframework.aop.ThrowsAdvice;
import com.ericsson.sdp.media.eup.charging.error.ErrorHandler;
import java.lang.reflect.Method;
/** * Logging interceptor. */ public class LoggingAdvice implements MethodBeforeAdvice, AfterReturningAdvice, ThrowsAdvice { private boolean enabled = true; /** * Transcodeeates a new instance of LoggingAdvice. */ public LoggingAdvice() { }
/* (non-Javadoc) * @see org.springframework.aop.MethodBeforeAdvice#before(java.lang.reflect.Method, java.lang.Object[], java.lang.Object) */ public void before(Method method, Object[] args, Object target) throws Throwable { if (!enabled) { return; }
StringBuffer builder = new StringBuffer(); builder.append("enter ").append(method.getName()).append("(");
for (int i = 0; args == null?false:(i < args.length); i++) { builder.append(args[i]);
if (i < (args.length - 1)) { builder.append(", "); } }
builder.append(")"); ErrorHandler.handleDebug(builder.toString()); }
/* (non-Javadoc) * @see org.springframework.aop.AfterReturningAdvice#afterReturning(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], java.lang.Object) */ public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable { if (!enabled) { return; }
ErrorHandler.handleDebug(RETURN + method.getName()); }
/** * @param method * @param args * @param target * @param exc */ public void afterThrowing(Method method, Object[] args, Object target, Throwable exc) { if (!enabled) { return; } ErrorHandler.handleDebug("return " + method.getName() + exc.getMessage()); }
/** * @return the enabled */ public boolean isEnabled() { return enabled; }
/** * @param enabled the enabled to set */ public void setEnabled(boolean enabled) { this.enabled = enabled; } } |
0 comments:
Post a Comment