此工具类可以方便的跟踪到android项目里是哪个包,哪个类打出的log,方便定位。
import android.util.Log;
/**
* Enhance Log
*/
public class ELog {
public static boolean isDebug = true;
public static void d(String msg) {
if (!isDebug)
return;
StackTraceElement invoker = getInvoker();
msg = "【" + invoker.getMethodName() + ":" + invoker.getLineNumber() + "】" + msg;
Log.d(invoker.getClassName(), msg);
}
public static void i(String msg) {
if (!isDebug)
return;
StackTraceElement invoker = getInvoker();
Log.i(invoker.getClassName(), "【" + invoker.getMethodName() + ":" + invoker.getLineNumber() + "】" + msg);
}
public static void e(String msg) {
if (!isDebug)
return;
StackTraceElement invoker = getInvoker();
Log.e(invoker.getClassName(), "【" + invoker.getMethodName() + ":" + invoker.getLineNumber() + "】" + msg);
}
public static void v(String msg) {
if (!isDebug)
return;
StackTraceElement invoker = getInvoker();
Log.v(invoker.getClassName(), "【" + invoker.getMethodName() + ":" + invoker.getLineNumber() + "】" + msg);
}
public static void w(String msg) {
if (!isDebug)
return;
StackTraceElement invoker = getInvoker();
Log.w(invoker.getClassName(), "【" + invoker.getMethodName() + ":" + invoker.getLineNumber() + "】" + msg);
}
private static StackTraceElement getInvoker() {
return Thread.currentThread().getStackTrace()[4];
}
}