5

Grails プロジェクトでカスタム ロギング アノテーションを作成したいと考えています。

私のコード:

class MyService{
    @AuditLog
    def method1() {
        println "method1 called"
        method2()
    }
    @AuditLog
    def method2() {
        println "method2 called"
    }
}

インターセプター:

class AuditLogInterceptor implements MethodInterceptor {
    @Override
    Object invoke(MethodInvocation methodInvocation) throws Throwable {
        println "${methodInvocation.method}"
        return methodInvocation.proceed();
    }
}

春の設定:

aop {
    config("proxy-target-class": true) {
        pointcut(id: "auditLogInterceptorPointcut", expression: "@annotation(xxx.log.AuditLog)")
        advisor('pointcut-ref': "auditLogInterceptorPointcut", 'advice-ref': "auditLogInterceptor")
    }
}

auditLogInterceptor(AuditLogInterceptor) {}

結果:

public java.lang.Object xxx.MyService.method1()
method1 called
method2 called

メソッド 2 のアノテーションも同様に発生することを確認したいと思います。私は何が欠けていますか?

4

1 に答える 1