gpt4 book ai didi

java - 列出被调用的方法的名称

转载 作者:搜寻专家 更新时间:2023-11-01 01:44:33 24 4
gpt4 key购买 nike

我想要一个类似反射的解决方案来显示被调用的方法。

例子:

public class Foo {
public void bar() {
new Y().x();
}
}

public class Y {
public void x() {
}
}

public class Main {
public static void main(String[] args) {
// SETTING UP THE MAGIC
new Foo().bar();
new Y().x();
}
}

输出应该是:

1. Foo.bar
1.2 Y.x
2. Y.x

最好有一个事件处理程序,每次调用方法时都会触发该事件处理程序(并且可以将一些信息作为参数传递)。

PS:我不想在生产环境中使用它,我只需要它来在没有虚拟复制粘贴的框架应用程序中显示输出。

最佳答案

我会使用 aspectj定义一个方面,为每个方法调用写入日志消息。你可以在这里找到一个例子:Tracing Java Method Execution with AspectJ .或此处:Logging with AspectJ

此解决方案的优点是您不必对代码进行任何更改。您将需要一些时间来了解 aspectj,但它非常符合您的要求。

关于java - 列出被调用的方法的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15410151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com