向java web应用程序添加aspectj日志记录
我是aspectj的新手,所以我的问题可能很可笑。我有一个JavaWeb应用程序,我希望打印所有前后运行的方法名。所以我添加了一个aspectj-1..7.4.jar和一个如下所示的类。但它不会打印到日志文件。有什么我忘了的或者我能做什么?提前准备好向java web应用程序添加aspectj日志记录,java,logging,aspectj,Java,Logging,Aspectj,我是aspectj的新手,所以我的问题可能很可笑。我有一个JavaWeb应用程序,我希望打印所有前后运行的方法名。所以我添加了一个aspectj-1..7.4.jar和一个如下所示的类。但它不会打印到日志文件。有什么我忘了的或者我能做什么?提前准备好 @Aspect public class LogAspect { final Logger log = Logger.getLogger(LogAspect.class); @Pointcut("execution(* *.*(..)
@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());
}
}
它没有打印到日志文件,但您是否在控制台中看到system.out 我建议将
执行(**.*(..)
更改为执行(**(..)
我不知道您试图拦截的类的包,但在我看来,使用
*.*(…)
只能在任何包中获取类。任何包我也看不到我的控制台。我尝试执行(**(..)
它不起作用。您使用的是Spring吗?是的,但我没有集成aspectj和Spring。如果您可以使用Spring,它是最好的解决方案,并且易于使用。您可以发布部分pom.xml吗?因为您没有使用spring,所以我认为您应该看看这个:您的pom中可能缺少一些内容。