谁调用了我(class function)?

java开发中经常用到日志组件,它们打出来的信息比较神奇,居然知道是谁调用了自己,从网上搜到了其原理,其实很简单,代码如下:
 
         StackTraceElement stack[] = (new Throwable()).getStackTrace(); 
          
for (int i = 0; i < stack.length; i++)   { 
              StackTraceElement ste 
= stack[i]; 
              System.out.println(i 
+ "--"+ste.getClassName()); 
              System.out.println(i 
+ "--"+ste.getMethodName()); 
              System.out.println(i 
+ "--"+ste.getFileName()); 
              System.out.println(i 
+ "--"+ste.getLineNumber()); 
          } 
posted on 2008-08-11 10:36  dotjava  阅读(242)  评论(0编辑  收藏  举报