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-07-03 09:21:16 发布
本文介绍了一个实用的日志工具类,该工具类提供统一的成功和失败日志消息格式化功能。通过传入不同的参数,可以方便地记录方法的执行耗时及参数详情,适用于RESTful API调用的日志记录。
962

被折叠的 条评论
为什么被折叠?



