java 獲取當(dāng)前函數(shù)名的實現(xiàn)代碼
廢話不多說,直接上代碼
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Java實現(xiàn)類似C/C++中的__FILE__、__FUNC__、__LINE__等,主要用于日志等功能中。
*
* @version 1.0
*
*/
public abstract class CommonFunction {
/**
* 打印日志時獲取當(dāng)前的程序文件名、行號、方法名 輸出格式為:[FileName | LineNumber | MethodName]
*
* @return
*/
public static String getFileLineMethod() {
StackTraceElement traceElement = ((new Exception()).getStackTrace())[1];
StringBuffer toStringBuffer = new StringBuffer("[").append(
traceElement.getFileName()).append(" | ").append(
traceElement.getLineNumber()).append(" | ").append(
traceElement.getMethodName()).append("]");
return toStringBuffer.toString();
}
// 當(dāng)前文件名
public static String _FILE_() {
StackTraceElement traceElement = ((new Exception()).getStackTrace())[1];
return traceElement.getFileName();
}
// 當(dāng)前方法名
public static String _FUNC_() {
StackTraceElement traceElement = ((new Exception()).getStackTrace())[1];
return traceElement.getMethodName();
}
// 當(dāng)前行號
public static int _LINE_() {
StackTraceElement traceElement = ((new Exception()).getStackTrace())[1];
return traceElement.getLineNumber();
}
// 當(dāng)前時間
public static String _TIME_() {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return sdf.format(now);
}
}
相關(guān)文章
Java Spring JdbcTemplate基本使用詳解
JDBC已經(jīng)能夠滿足大部分用戶最基本的需求,但是在使用JDBC時,必須自己來管理數(shù)據(jù)庫資源如:獲取PreparedStatement,設(shè)置SQL語句參數(shù),關(guān)閉連接等步驟2021-10-10
spring?eurake中使用IP注冊及問題小結(jié)
在開發(fā)spring?cloud的時候遇到一個很奇葩的問題,就是服務(wù)向spring?eureka中注冊實例的時候使用的是機器名,然后出現(xiàn)localhost、xxx.xx等這樣的內(nèi)容,這篇文章主要介紹了spring?eurake中使用IP注冊,需要的朋友可以參考下2023-07-07
java數(shù)據(jù)結(jié)構(gòu)與算法之快速排序詳解
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之快速排序,結(jié)合實例形式詳細(xì)分析了快速排序的原理、實現(xiàn)步驟、相關(guān)操作技巧與注意事項,需要的朋友可以參考下2017-05-05
關(guān)于Java中XML Namespace 命名空間問題
這篇文章主要介紹了Java中XML Namespace 命名空間,XML命名空間是由國際化資源標(biāo)識符 (IRI) 標(biāo)識的 XML 元素和屬性集合,該集合通常稱作 XML“詞匯”,對XML Namespace 命名空間相關(guān)知識感興趣的朋友一起看看吧2021-08-08

