有没有什么方法可以获得Java当前的文件名和当前行号?

时间:2014-12-19 03:57:58

标签: java file logging

在C ++中,源代码和当前行号的文件由 FILE INLINE 决定,这是在编译时确定的,Java中是否有任何方法那可以做类似的事情吗?文件和行号是在编译时而不是运行时决定的?这将方便日志。我有点怀疑使用运行时方法来检测这些信息会降低性能。

1 个答案:

答案 0 :(得分:2)

您可以使用Thread.getStackTrace()

System.out.println(Thread.currentThread().getStackTrace()[1]);

输出包括当前方法和行号(如果编译了调试)。 例如,

com.stackoverflow.Main.main(Main.java:23)