实现原理:
java.lang.Throwable类可以实时获取当前调用栈每一层调用的详细信息,包括文件名、类名、方法名和行号。
示例代码:
public class LocalLog {
public static void log(String log){
StackTraceElement[] stacks = new Throwable().getStackTrace();
StackTraceElement stack1 = stacks[1];
System.out.println("LOG POINT@"
+ "filename:"+stack1.getFileName()
+ ",classname:"+stack1.getClassName()
+ "methodname:"+stack1.getMethodName()
+ "lineno:"+stack1.getLineNumber());
System.out.println("LOG INFO:"+log);
}
public static void main(String[] args){
LocalLog.log("this is a test!");
}
}
main方法执行结果:
LOG POINT@filename:LocalLog.java,classname:figo.fileParse.LocalLogmethodname:mainlineno:19
LOG INFO:this is a test!
本文介绍了如何使用java.lang.Throwable类来获取并打印当前调用栈的详细信息,包括文件名、类名、方法名和行号,从而实现简单的日志记录功能。
827

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



