我是aspectj的新手,所以我的问题可能很荒谬。我有一个java Web应用程序,我希望打印所有正在运行的方法名称之前和之后。所以我添加了一个aspectj-1..7.4.jar和一个如下所示的类。但它不会打印到日志文件。我有没有忘记或者我该怎么办?提前完成。
@Aspect
public class LogAspect {
final Logger log = Logger.getLogger(LogAspect.class);
@Pointcut("execution(* *.*(..))")
public void defineEntryPoint() {
}
@Before("defineEntryPoint()")
public void beforeMethod(JoinPoint joinPoint) {
log.error("Before" + joinPoint.getSignature());
System.out.println("Before" + joinPoint.getSignature());
}
@After("defineEntryPoint()")
public void afterMethod(JoinPoint joinPoint) {
log.error("After" + joinPoint.getSignature());
System.out.println("After" + joinPoint.getSignature());
}
}
答案 0 :(得分:0)
它不打印到日志文件,但是你在控制台中看到你的system.out吗?
我建议将execution(* *.*(..))
更改为execution(* *(..))
我不知道你试图拦截的类的包,但在我看来,使用*.*(..)
你只能获得anypackage.anyPackage中的类