package org.onlinecourse.aop;
import org.apache.log4j.Logger;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
public class LogAop {
private static final Logger logger = Logger.getRootLogger();
public void doAfter(JoinPoint jp) {
logger.info("log Ending method: " + jp.getTarget().getClass().getName()
+ "." + jp.getSignature().getName());
}
public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
long time = System.currentTimeMillis();
Object retVal = pjp.proceed();
time = System.currentTimeMillis() - time;
logger.info("process time: " + time + " ms");
return retVal;
}
public void doBefore(JoinPoint jp) {
logger.info("log Begining method: "
+ jp.getTarget().getClass().getName() + "."
+ jp.getSignature().getName());
}
public void doThrowing(JoinPoint jp, Throwable ex) {
logger.info("method " + jp.getTarget().getClass().getName() + "."
+ jp.getSignature().getName() + " throw exception");
logger.error(ex.getMessage());
}
}
import org.apache.log4j.Logger;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
public class LogAop {
private static final Logger logger = Logger.getRootLogger();
public void doAfter(JoinPoint jp) {
logger.info("log Ending method: " + jp.getTarget().getClass().getName()
+ "." + jp.getSignature().getName());
}
public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
long time = System.currentTimeMillis();
Object retVal = pjp.proceed();
time = System.currentTimeMillis() - time;
logger.info("process time: " + time + " ms");
return retVal;
}
public void doBefore(JoinPoint jp) {
logger.info("log Begining method: "
+ jp.getTarget().getClass().getName() + "."
+ jp.getSignature().getName());
}
public void doThrowing(JoinPoint jp, Throwable ex) {
logger.info("method " + jp.getTarget().getClass().getName() + "."
+ jp.getSignature().getName() + " throw exception");
logger.error(ex.getMessage());
}
}