2014-01-23 3 views
0

Я новичок в аспекте, поэтому мой вопрос может быть смешным. У меня есть веб-приложение java, и я хочу, чтобы печатать все имена запущенных методов до и после. Поэтому я добавил aspectj-1..7.4.jar и класс, как показано ниже. Но он не печатает файл журнала. Есть ли что-нибудь, что я забыл или что я могу сделать? Thanx заранее.добавление aspectj logging to java web application

@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

Это не печать в файл журнала, но вы видите свой system.out в консоли?

Я хотел бы предложить изменения execution(* *.*(..))execution(* *(..)) в

Я не знаю, пакеты класса вы пытаетесь перехватить, но мне кажется, что с *.*(..) вы могли бы получить только классы в anypackage.anyPackage

+0

Я тоже не вижу свою консоль. Я пытаюсь выполнить (* * (..)) 'это не сработало. –

+0

Вы используете Spring? –

+0

Да, но я не интегрировал aspectj и spring. –