public static String getTraceInfo(){
StringBuffer sb = new StringBuffer();
StackTraceElement[] stacks = new Throwable().getStackTrace();
int stacksLen = stacks.length;
sb.append("class: " ).append(stacks[1].getClassName()).append("; method: ").append(stacks[1].getMethodName()).append("; number: ").append(stacks[1].getLineNumber());
return sb.toString();
}
最终是通过StackTraceElement[] stacks = new Throwable().getStackTrace();来实现的
没有研究底层实现, 也不没去看Log4j等日志框架中是不是也是用此方式获取相关信息的, 待有时间再研究
本文介绍了一种通过Java代码获取当前调用堆栈信息的方法,利用StackTraceElement数组结合Throwable的getStackTrace()方法来实现。这种方法可以用于记录程序运行时的调用流程,便于调试和错误追踪。
1628

被折叠的 条评论
为什么被折叠?



