logaspect.java
来自「spring2.0技术手册随书事例,结合例子学习起来更轻松」· Java 代码 · 共 43 行
JAVA
43 行
package onlyfun.caterpillar;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class LogAspect {
private Logger logger =
Logger.getLogger(this.getClass().getName());
@Pointcut("execution(* onlyfun.caterpillar.IHello.*(..))")
private void logging() {}
@Before("logging()" )
public void before(JoinPoint jointPoint) {
logger.log(Level.INFO, "method starts..." +
jointPoint.getSignature().getDeclaringTypeName() +
"." + jointPoint.getSignature().getName());
}
@AfterReturning(pointcut="logging()", returning="retVal")
public void afterReturning(JoinPoint jointPoint, Object retVal) {
logger.log(Level.INFO, "method ends..." +
jointPoint.getSignature().getDeclaringTypeName() +
"." + jointPoint.getSignature().getName());
}
@AfterThrowing(pointcut="logging()", throwing="throwable")
public void afterThrowing(JoinPoint jointPoint,
Throwable throwable) {
logger.log(Level.INFO, "Logging that a " + throwable +
"\nException was thrown in..." +
jointPoint.getSignature().getDeclaringTypeName() +
"." + jointPoint.getSignature().getName());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?