JAVA 获取当前执行的函数名、当前运行的类名等等信息

原文:http://blog.csdn.net/a123638/article/details/45152831

java中提供了Thread.currentThread().getStackTrace()和new Throwable().getStackTrace()来获取堆栈信息,通过该方法返回堆栈数组。其数组第一个元素为Thread执行元素,索执行的方法为getStackTrace。其后依次是嵌套包裹执行的最里层,依次向外。

下面通过实例说明:

public static void display(){  
    StackTraceElement[] stes = Thread.currentThread().getStackTrace();  
    for (int i = 0; i < stes.length; i ++) {  
        System.out.println(i + "<------>"  + stes[i].getClassName() + "<------>" + stes[i].getMethodName() + "<------>" + stes[i].getFileName());  
    }  
}  
  
public static void main(String[] args) {  
    display();  
}  }  

执行结果如下:

 
 
0<------>java.lang.Thread<------>getStackTrace<------>Thread.java  
1<------>com.avcon.web.controller.LoginController<------>display<------>LoginController.java  
2<------>com.avcon.web.controller.LoginController<------>main<------>LoginController.java  

猜你喜欢

转载自blog.csdn.net/tiantang_1986/article/details/79229900