logaspect.java

来自「spring2.0技术手册随书事例,结合例子学习起来更轻松」· Java 代码 · 共 33 行

JAVA
33
字号
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.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()); 
   } 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?