将aspectj日志记录添加到java Web应用程序

时间:2014-01-23 10:29:20

标签: java logging aspectj

我是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());

    }
}

1 个答案:

答案 0 :(得分:0)

它不打印到日志文件,但是你在控制台中看到你的system.out吗?

我建议将execution(* *.*(..))更改为execution(* *(..))

我不知道你试图拦截的类的包,但在我看来,使用*.*(..)你只能获得anypackage.anyPackage中的类