【问题标题】:Record every method execution记录每个方法执行
【发布时间】:2014-01-13 18:02:34
【问题描述】:

有什么方法可以记录/记录/监控/查看 Java 程序中方法的每次执行。

例如:

12:30:12 someMethod("argument")
12:30:12 anotherMethos(1, 2, 3)
12:30:13 finalMethod("invalidInputHere1234")

【问题讨论】:

标签: java


【解决方案1】:

简单的答案:修改方法,并插入日志语句。

稍微复杂一点的答案,即使您无法修改方法也可以使用:查看基于方面的编程。

【讨论】:

  • 我想追踪数百种方法,因此无法真正改变每一种方法。有没有一种方法可以监视 Java 程序的执行以查看正在运行的方法?我知道我可以使用 NetBeans 来跟踪变量的值 - 执行了哪些方法呢?
  • 看看this article
【解决方案2】:

在不修改代码的情况下,您可以使用能够记录任何状态变化的调试器或分析器,例如 Chronon time travelling debugger

【讨论】:

    【解决方案3】:

    【讨论】:

      【解决方案4】:

      你可以录制你的节目,然后用Chronon播放它

      【讨论】:

        【解决方案5】:

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

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

        它通过SLF4J登录。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-11-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-04
          • 1970-01-01
          • 2011-11-22
          相关资源
          最近更新 更多