/** * 便于控制与查看的日志输出 */ public class L { private static final int VERBOSE = 1; private static final int DEBUG = 2; private static final int INFO = 3; private static final int WARN = 4; private static final int ERROR = 5; private static final int NOTHING = 6; private static final int LEVEL = VERBOSE; public static void v(String msg) { if (LEVEL <= VERBOSE) { StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[3]; Log.v(getDefaultTag(stackTraceElement), msg + getAdditionalInfo(stackTraceElement)); } } public static void d(String msg) { if (LEVEL <= DEBUG) { StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[3]; Log.d(getDefaultTag(stackTraceElement), msg + getAdditionalInfo(stackTraceElement)); } } public static void i(String msg) { if (LEVEL <= INFO) { StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[3]; Log.i(getDefaultTag(stackTraceElement), msg + getAdditionalInfo(stackTraceElement)); } } public static void w(String msg) { if (LEVEL <= WARN) { StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[3]; Log.w(getDefaultTag(stackTraceElement), msg + getAdditionalInfo(stackTraceElement)); } } public static void e(String msg) { if (LEVEL <= ERROR) { StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[3]; Log.e(getDefaultTag(stackTraceElement), msg + getAdditionalInfo(stackTraceElement)); } } private static String getDefaultTag(StackTraceElement stackTraceElement) { String fileName = stackTraceElement.getFileName(); String stringArray[] = fileName.split("\\."); return stringArray[0]; } public static String getAdditionalInfo(StackTraceElement stackTraceElement) { StringBuilder stringBuilder = new StringBuilder(); /* 获取线程名 */ String threadName = Thread.currentThread().getName(); /* 获取类名 */ String className = stackTraceElement.getClassName(); /* 获取方法名 */ String methodName = stackTraceElement.getMethodName(); /* 获取打印Log的行数 */ int lineNumber = stackTraceElement.getLineNumber(); return stringBuilder .append(" --- 线程: ") .append(threadName) .append("; 类: ") .append(className) .append("; 方法: ") .append(methodName) .append("(); 行号: ") .append(lineNumber).toString(); } }
Android控制日志与输入
最新推荐文章于 2023-07-13 09:31:44 发布