2

我正在寻找一种方法来开发打印调用者类的 MethodInterceptor。

有没有办法让调用者对象进入方法拦截器?

4

2 回答 2

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);

于 2009-05-18T05:18:41.343 回答
0

您可以通过生成堆栈跟踪并检查它来做一些粗略的事情,但这很难看

于 2008-11-14T11:21:02.367 回答