メソッド実行統計のロギングにSpring AspectJを使用していますが、ポイントカット式を変更せずに、いくつかのクラスとメソッドをこれから除外したいと考えています。
特定のメソッドを除外するために、フィルターで除外するために使用するカスタム アノテーションを作成しました。ただし、クラスで同じことを行うことはできません。
ここに私のアスペクト定義があります -
@Around("execution(* com.foo.bar.web.controller.*.*(..)) "
+ "&& !@annotation(com.foo.bar.util.NoLogging)")
public Object log(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
// logging logic here
}
NoLogging
メソッドを除外するための私のカスタム注釈です。
では、ポイントカット式を変更したり、新しいアドバイザーを追加したりせずに、特定のクラスを除外するにはどうすればよいでしょうか?