最近自己写一个关于日志的小工具,涉及到获取执行的堆栈.
堆栈一般常用于异常中,如:
try { //TODO someThing }catch (Exception e){ e.printStackTrace();//打印堆栈 }但是如果没有异常需要获取到执行堆栈.
那么该如何获取呢.
//获取当前线程 并获取线程的堆栈 StackTraceElement stack[] = Thread.currentThread().getStackTrace();
最后就可以通过循环数组来获取信息.
PS:可能log4j也这么干的吧.(没看过log4j源码)