Если вам это нужно только для целей отладки / разработки, а не в финальной системе, вы можете использовать профилирование Eclipse. Профилирование Eclipse позволяет вам определять зонды, которые выполняются в разное время (например, в начале метода), которые позволяют вам выполнять произвольный код Java, имея доступ к таким вещам, как имена методов и значения параметров. Вы можете определить различные фильтры, чтобы выполнять зонды только там, где это необходимо в данный момент. Я не знаю точно, как это работает, но я предполагаю, что файлы классов оснащены инструментами, поэтому влияние времени выполнения должно быть относительно низким.
Если, с другой стороны, вам нужно это в производственном коде, я бы проголосовал за АОП - так, как предлагает Нанда.