我正在寻找一种开发MethodInterceptor的方法,该方法打印调用者类。
有没有办法让调用者对象进入方法拦截器?
答案 0 :(得分:3)
这可能有效,声明一个异常,然后在截获方法时使用它来查看堆栈:
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);
答案 1 :(得分:0)
你可以做一些粗略的事情,生成一个堆栈跟踪并检查它,但这很难看