Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向java web应用程序添加aspectj日志记录_Java_Logging_Aspectj - Fatal编程技术网

向java web应用程序添加aspectj日志记录

向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(* *.*(..)

我是aspectj的新手,所以我的问题可能很可笑。我有一个JavaWeb应用程序,我希望打印所有前后运行的方法名。所以我添加了一个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());

    }
}

它没有打印到日志文件,但您是否在控制台中看到system.out

我建议将
执行(**.*(..)
更改为
执行(**(..)


我不知道您试图拦截的类的包,但在我看来,使用
*.*(…)
只能在任何包中获取类。任何包我也看不到我的控制台。我尝试
执行(**(..)
它不起作用。您使用的是Spring吗?是的,但我没有集成aspectj和Spring。如果您可以使用Spring,它是最好的解决方案,并且易于使用。您可以发布部分pom.xml吗?因为您没有使用spring,所以我认为您应该看看这个:您的pom中可能缺少一些内容。