我希望有一个类似于反射的解决方案来显示被调用的方法.
例:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
输出应该是:
1. Foo.bar
1.2 Y.x
2. Y.x
Run Code Online (Sandbox Code Playgroud)
最好可能有一个事件处理程序,每次调用一个方法时都会触发该事件处理程序(并且某些信息可以作为参数传递).
PS:我不想在生产环境中使用它,我只需要在骨架应用程序中显示输出而不需要虚拟复制粘贴.
我将使用aspectj来定义为每个方法调用写入日志消息的方面.您可以在此处找到示例:使用AspectJ跟踪Java方法执行.或者在这里:使用AspectJ进行日志记录
此解决方案的优点是您不必对代码进行任何更改.你需要一些时间才能进入aspectj,但它很好地满足了你的要求.
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |