Java日志记录方法调用?

时间:2011-01-28 00:33:05

标签: java debugging

是否有任何工具可用于记录运行java应用程序的所有方法调用?

例如

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

应该记录下面的内容:

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

3 个答案:

答案 0 :(得分:5)

你需要的是一个分析器。

一些流行的个人资料是: JProfiler有不同的方法来进行方法调用记录,包括CPU和内存级别。

VisualVM是另一个

许多IDE(我知道Netbeans和Eclipse)都有自己可以使用的分析器。

答案 1 :(得分:3)

一种方法是使用AspectJ并编写拦截方法调用的建议。有一个如何执行“跟踪”记录in the programmer guide的示例。

答案 2 :(得分:1)

您可以使用@Loggable中的jcabi-aspects注释,它使用简单的日志记录机制包装您要调试的所有方法:

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

它会记录SLF4J