2011-01-28 4 views
1

Есть ли какие-либо инструменты, которые можно использовать для регистрации всех вызовов методов из запуска java-приложения?Вызов метода ведения журнала Java?

например.

..method call trim() from class java.lang.String 
+0

Возможный дубликат [Есть ли аспект, уже написанный и проверенный для ведения журнала TRACE.] (Http://stackoverflow.com/questions/4653013/is-there-an-aspect-already-written-and-tested- хорошо для отслеживания трассировки) –

ответ

4

Что вам нужно, это профайлер:

String str = "..."; 
String anotherString = str.trim(); 

должен что-то вроде этого журнала.

Некоторые популярные профилировщики: JProfiler, который имеет различные способы записи вызовов вызова метода, как на уровне ЦП, так и на уровне памяти.

VisualVM является еще один

Многих IDE, (я знаю, Netbeans и Eclipse) имеют свои собственные профайлер вы можете использовать.

+0

Следует отметить, что профилировщик VisualVM (который больше, чем просто профилировщик) основан на профиле Netbeans Profiler (но довольно сокращен по сложности и имеет немного меньший набор функций). –

3

Одним из способов было бы использовать AspectJ и написать совет, который перехватывает вызовы методов. Существует пример того, как сделать это «трассировочное» ведение журнала in the programmer guide.

1

Вы можете использовать @Loggable аннотацию из jcabi-aspects, который оборачивает все методы, которые вы хотите отлаживать с помощью простого механизма регистрации:

@Loggable(Loggable.DEBUG) 
public String load(URL url) { 
    return url.openConnection().getContent(); 
} 

Он регистрирует через SLF4J.

Смежные вопросы