直接上源码,打出当前执行的类名,方法名以及代码所在行。
package org.apache.log4j.test;
public class TestUtil {
public static void LogUtil(Class clazz, Object message) {
// String clzz =
// Thread.currentThread().getStackTrace()[1].getClassName();
// System.out.println(clazz.getSimpleName());
// String method =
// Thread.currentThread().getStackTrace()[1].getMethodName();
// String clazz1 = clazz.getClass().getName();
// System.out.println(clazz.getMethods()[0]);
StringBuffer sb = new StringBuffer();
StackTraceElement[] stacks = new Throwable().getStackTrace();
int stacksLen = stacks.length;
sb.append("当前执行的类是【" + stacks[1].getClassName()).append("+】在第")
.append("【").append(stacks[1].getLineNumber()).append("】")
.append("】方法名【" + stacks[1].getMethodName());
}
public static void LogUtil() {
StringBuffer sb = new StringBuffer();
StackTraceElement[] stacks = new Throwable().getStackTrace();
int stacksLen = stacks.length;
sb.append("当前执行的类是:" + stacks[1].getClassName()).append(";在第")
.append("【").append(stacks[1].getLineNumber()).append("】")
.append(";方法名:" + stacks[1].getMethodName());
System.out.println(sb.toString());
}
public static void LogUtil(Object message) {
StringBuffer sb = new StringBuffer();
StackTraceElement[] stacks = new Throwable().getStackTrace();
int stacksLen = stacks.length;
sb.append("提示信息:[class:" + stacks[1].getClassName()).append("]")
.append("【lineNumber:").append(stacks[1].getLineNumber()).append("】")
.append("[methodName:" + stacks[1].getMethodName()).append("]【message:").append(message).append("】");
System.out.println(sb.toString());
}
}