package com.tfq.library.utils; import android.util.Log; import com.tfq.library.app.BaseConstants; public class LogK { private static final String TAG_PREFIX = "LibraryLog_http"; private static boolean DEBUG = false; public static boolean isDebug() { return DEBUG; } public static void setDebug(boolean debug) { DEBUG = debug; } public static void d(String msg) { if (DEBUG) Log.d(TAG_PREFIX, buildMessage(msg)); } public static void e(String msg) { if (DEBUG) Log.e(TAG_PREFIX, buildMessage(msg)); } public static void i(String msg) { if (DEBUG) Log.i(TAG_PREFIX, buildMessage(msg)); } public static void w(String msg) { if (DEBUG) Log.w(TAG_PREFIX, buildMessage(msg)); } public static void v(String msg) { if (DEBUG) Log.v(TAG_PREFIX, buildMessage(msg)); } private static String buildMessage(String msg) { StackTraceElement[] trace = new Throwable().getStackTrace(); String caller = ""; for (int i = 3; i < trace.length; i++) { if (!trace[i].getClassName().equals(LogK.class.getName())) { String className = trace[i].getClassName(); caller = className.substring(className.lastIndexOf('.') + 1) + "." + trace[i].getMethodName() + ":" + trace[i].getLineNumber(); break; } } return "[" + Thread.currentThread().getId() + "] " + caller + " ▶ " + msg; } }