一个骚气的小工具,查看方法调用轨迹

最近在学习Netty,为了更好的查看方法调用顺序,开发了如下小工具:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11

public class CommonUtils {
    public static void logCalling() {
        StackTraceElement[] mStacks = Thread.currentThread().getStackTrace();

        if (mStacks.length >= 3) {
            System.out.printf("Calling: %s.%s()\n", mStacks[2].getClassName(), mStacks[2].getMethodName());
        }
    }
}

这个工具可以打印当前是谁在调用这个方法,如果不使用调用栈的方案,我们就需要传入一个object,感觉很low。

如果在SpringBoot中,可以考虑开发相应的注解。

参考资料

  1. java怎么看某个方法被谁调用