public class LogerUtil {
/**
* 统一的成功日志消息
*
* @param usedTime
* 耗時
* @param parms
* 参数列表
* @return
*/
public static String getSuccessMessage(long startTime, String... parms) {
StringBuffer result = new StringBuffer("rest 调用");
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
String methodString = getClassMethodInfo(elements);
result.append(methodString);
result.append(" 方法,耗时:" + (System.currentTimeMillis() - startTime)
+ " 毫秒。");
if (parms != null) {
result.append(" 参数列表parms:");
for (String parm : parms) {
result.append(parm + ",");
}
}
return result.toString();
}
/**
* 统一的失败日志消息
*
* @param parms
* 参数列表
* @return
*/
public static String getFailureMessage(String... parms) {
StringBuffer result = new StringBuffer("rest 调用");
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
String methodString = getClassMethodInfo(elements);
result.append(methodString);
result.append(" 方法,失败。");
if (parms != null) {
result.append(" 参数列表 parms:");
for (String parm : parms) {
result.append(parm + ",");
}
}
return result.toString();
}
private static String getClassMethodInfo(StackTraceElement[] elements) {
String result = "";
int len = null == elements ? 0 : elements.length - 1;
if (len > 2) {
String methodString = "";
StackTraceElement element = elements[2];
String shortClassName = getShortClassName(element.getClassName());
methodString += shortClassName + "." + element.getMethodName()
+ " ";
result = methodString.substring(0, methodString.length() - 1);
}
return result;
}
/**
* 获取短类名称(去掉包后的类名)
*
* @param className
* @return
*/
private static String getShortClassName(String className) {
String result = "";
if (!ServiceUtil.isEmpty(className)) {
result = className.substring(className.lastIndexOf(".") + 1);
}
return result;
}
public static void main(String[] args) {
testMethod();
}
private static void testMethod() {
System.out.println(getSuccessMessage(12367, "name=tom", "age=23"));
System.out.println(getFailureMessage("name=tom", "age=23"));
}
}
java StackTraceElement 日志
最新推荐文章于 2025-01-24 10:26:35 发布