Anotação personalizada como Interceptor para um registro de método

Gurus de Java,

Eu sou muito novo paraannotations e não procuramos muito por isso, então por favor, tenha paciência comigo ...

Eu gostaria de implementar umCustom Annotation qual vaiintercept uma chamada de método; para começar com algo muito básico, basta imprimir o nome e os parâmetros dos métodos para que eu possa evitarlogger declaração.

Uma chamada de amostra como esta:

public MyAppObject findMyAppObjectById(Long id) throws MyCustomException {
    log.debug("in findMyAppObjectById(" + id + ")");
    //....
}   

pode ser convertido em:

@LogMethodCall(Logger.DEBUG)
public MyAppObject findMyAppObjectById(Long id) throws MyCustomException {
    //....
}   

Eu poderia obter algumas dicas sobre isso?