在Java代码运行时获取当前和调用者的行号,方法名,类名,文件名

13年前
public class TestClass  {   public static void main(String[] args)   {    test();   }     public static void test()   {    getCaller();   }     public static void getCaller()   {    StackTraceElement stack[] = (new Throwable()).getStackTrace();    for (int i = 0; i < stack.length; i++)    {     StackTraceElement s = stack[i];     System.out.format(" ClassName:%d\t%s\n", i, s.getClassName());     System.out.format("MethodName:%d\t%s\n", i, s.getMethodName());     System.out.format("  FileName:%d\t%s\n", i, s.getFileName());     System.out.format("LineNumber:%d\t%s\n\n", i, s.getLineNumber());    }   }  }