【问题标题】:Java logging method calls?Java记录方法调用?
【发布时间】:2011-01-28 00:33:04
【问题描述】:

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

例如。

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

应该记录如下内容:

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

【问题讨论】:

标签: java debugging


【解决方案1】:

你需要的是一个分析器。

一些流行的分析器是: JProfiler 在 CPU 和内存级别上有不同的方法调用记录。

VisualVM 是另一个

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

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    它通过SLF4J登录。

    【讨论】:

      猜你喜欢
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-03
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多