Java日志记录方法调用?

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

例如。

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

应该记录这样的事情:

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

你需要的是一个分析器。

一些流行的分析器是: JProfiler ,它有不同的方法来进行方法调用记录,包括CPU和内存级别。

VisualVM是另一个

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

一种方法是使用AspectJ并编写拦截方法调用的建议。 有一个如何在程序员指南中执行“跟踪”日志记录的示例。

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

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

它通过SLF4J登录。