AspectJ - Создание глобального поля Logger с использованием объявления между типами

Я хотел бы создать объявление Inter-Type, которое объявляет (статический окончательный) экземпляр Logger внутри каждого класса.

Конструктор должен быть передан вмещающий классKlazz.class значение:

@Aspect
public class LoggerAspect {

    public interface Logger {
    }

    public static class LoggerImpl implements Logger {
        private static final Logger logger = 
          new Logger(thisJoinPoint.getTarget().getClass()/*.getName()*/);
    }

    @DeclareParents(value="com.my.api..*",defaultImpl=LoggerImpl.class)
    private Logger implementedInterface;
}

Я написал вышеупомянутое решение, однако я не могу использоватьthisJoinPoint вне AspectJadvice.

Если реализация Logger по умолчанию применяется к некоторому классу Klazz, как я могу изменить приведенный выше код для успешной передачи Klazz.class в конструктор Logger?

Ответы на вопрос(2)

Ваш ответ на вопрос