JAVA中获取当前运行的类名,方法名,行数

阅读更多
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,log4j,框架)