在JAVA中如何獲取當前源文件名以及代碼的行號

在最近經歷中,碰見了這樣一個問題,如何獲取當前源文件名以及代碼的行號,只是瞭解到C語言有預約義宏__FILE__、__LINE__,它們在預處理的時候都已經肯定好了,可是在JAVA中應該怎麼獲取輸出呢。java

通過查找發現java提供如下方法來獲取當前文件名以及行號數組

Thread.currentThread().getStackTrace()[1].getFileName():獲取當前文件名;
Thread.currentThread().getStackTrace()[1].getLineNumber():獲取當前行號。

其中:Thread.currentThread().getStackTrace()返回的是一個數組形式的函數調用棧(棧頂在索引0處),其中第1個元素(索引爲0)爲最新調用的函數信息(getStackTrace()),第2個元素(索引爲1)爲當前函數(即調用getStackTrace()的函數)信息函數

 

相關文章
相關標籤/搜索