获取java中当前运行代码类名,行号,方法名

时间:2022-07-28 10:30:01
最近项目在线上出现一个报加密控件输入为空的bug,由于IOS,Android,web端都报,但是没找到原因,因为是偶现,所以为了捕捉这个问题,做出要我们把报错信息传给后台,所以就写一下获取的方法。
1.获取方法名:
public static String getCurrentMethodName() {
int level = 1;
StackTraceElement[] stacks = new Throwable().getStackTrace();
String methodName = stacks[level].getMethodName();
return methodName;
}
2.获取类名:
public static String getCurrentClassName() {
int level = 1;
StackTraceElement[] stacks = new Throwable().getStackTrace();
String className = stacks[level].getClassName();
return className;
}



3.获取行号:
public static int getLineNumber() {
int level = 1;
StackTraceElement[] stacks = new Throwable().getStackTrace();
int lineNumber = stacks[level].getLineNumber();
return lineNumber;
}