[Android]Log打印

package com.lurencun.android.system;

import android.util.Log;

public class ExLog {

	static final String TAG = ExLog.class.getSimpleName();

	/**
* 输出调试信息(System.out),并在调试输入信息中附带当前代码在哪个类哪一行的额外数据。
* @param message 调试信息
*/
public static void l(String message){
StackTraceElement ele = Thread.currentThread().getStackTrace()[3];
int line = ele.getLineNumber();
String clazz = ele.getClassName();
System.out.println(":::: @"+clazz+" -> "+line+" :::: "+message);
} /**
* 取得当前代码所在的方法名
* @return 当前方法名
*/
public static String getCurrentMethodName(){
// 0 getThreadStackTrce
// 1 getStackTrace
// 2 * this method: getCurrentMethodName
// 3 your method
return Thread.currentThread().getStackTrace()[3].getMethodName();
} /**
* 输出方法调用链
* @param object 对象
*/
public static void logCurrentMethodChain(Object object){
StackTraceElement[] es = Thread.currentThread().getStackTrace();
long time = System.currentTimeMillis();
Log.d(TAG, String.format("###### Object(%s) Method Chain ###### @Time( %d )", object.getClass().getSimpleName(), time));
for(StackTraceElement e : es){
String msg = String.format("### Method Chain ### Caller:%s ->:%s", e.getClassName(),e.getMethodName());
Log.d(TAG, msg);
}
} /**
* 输出当前方法调用
* @param object 对象
*/
public static void logCurrentMethod(Object object){
String methodName = Thread.currentThread().getStackTrace()[3].getMethodName();
long time = System.currentTimeMillis();
String msg = String.format("###### Calling Method ###### Object(%s) -> %s @Time( %d )", object.getClass().getSimpleName(),methodName, time);
Log.d(TAG, msg);
} }
上一篇:perl install module && normal module


下一篇:Android读写JSON格式的数据之JsonWriter和JsonReader