public class ReflectionGetSource { public static void main(String[] args) { new ReflectionGetSource().method1(); } public ReflectionGetSource() {} public void method1() { method2(); } public void method2() { method3(); } public void method3() { Throwable t = new Throwable(); for ( StackTraceElement ste : t.getStackTrace() ) { System.out.printf("File Name = %s%n", ste.getFileName()); System.out.printf("Class Name = %s%n", ste.getClassName()); System.out.printf("Method Name = %s%n", ste.getMethodName()); System.out.printf("Line number = %s%n%n", ste.getLineNumber()); } } }