简单的代码替换常用的System.out

直接上源码,打出当前执行的类名,方法名以及代码所在行。

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());
	}
	
	
}

猜你喜欢

转载自leijian0128.iteye.com/blog/2357848