我正在寻找一种方法来开发打印调用者类的 MethodInterceptor。
有没有办法让调用者对象进入方法拦截器?
这可能有效,声明一个异常,然后在您的方法被拦截时使用它来查看堆栈:
Throwable t = new Throwable();
StackTraceElement[] elements = t.getStackTrace();
String calleeMethod = elements[0].getMethodName();
String callerMethodName = elements[1].getMethodName();
String callerClassName = elements[1].getClassName();
System.out.println("CallerClassName=" + callerClassName + " , Caller method name: " + callerMethodName);
System.out.println("Callee method name: " + calleeMethod);
您可以通过生成堆栈跟踪并检查它来做一些粗略的事情,但这很难看