Log.v()是日志级别中最低的,对应verbose,常用于打印琐碎,意义不大的日志信息。
Log.d()比Log.v()高一级,对应debug,常用于打印一些调试信息。
Log.i()比Log.d()高一级,对应info,常用于打印分析问题的重要数据。
Log.w()比Log.i()高一级,对应warn,常用于打印警告。
Log.e()比Log.w()高一级,对应error,常用于打印错误信息。
以下代码直接复制就能使用。
import android.util.Log; public class LogUtils { private static boolean open = true; //日志工具是否开启,默认为true private static String className; //类名 private static String methodName; //方法名 private static int lineNumber; //所在行数 public static boolean isOpen() { return open; } public static void setOpen(boolean open) { LogUtils.open = open; } /** * 获取方法名,类名,行数 * @param elements */ private static void getMethodName(StackTraceElement[] elements){ className = elements[1].getFileName(); methodName = elements[1].getMethodName(); lineNumber = elements[1].getLineNumber(); } /** * 创建msg * @param msg * @return */ private static String createMsg(String msg){ StringBuffer buffer = new StringBuffer(); buffer.append(methodName); buffer.append("(").append(className).append(":").append(lineNumber).append(")"); buffer.append(msg); return buffer.toString(); } /** * 检查msg是否为null * @param msg * @return */ private static Object handleMsg(Object msg) { if (msg == null){ msg = "[null]"; }else if (msg.toString().trim().length() == 0){ msg = "[\"\"]"; }else { msg = msg.toString().trim(); } return msg; } public static void v(Object msg){ if (!open){ return; } msg = handleMsg(msg); getMethodName(new Throwable().getStackTrace()); Log.v(className,createMsg(msg.toString())); } public static void d(Object msg){ if (!open){ return; } msg = handleMsg(msg); getMethodName(new Throwable().getStackTrace()); Log.d(className,createMsg(msg.toString())); } public static void i(Object msg){ if (!open){ return; } msg = handleMsg(msg); getMethodName(new Throwable().getStackTrace()); Log.i(className,createMsg(msg.toString())); } public static void w(Object msg){ if (!open){ return; } msg = handleMsg(msg); getMethodName(new Throwable().getStackTrace()); Log.w(className,createMsg(msg.toString())); } public static void e(Object msg){ if (!open){ return; } msg = handleMsg(msg); getMethodName(new Throwable().getStackTrace()); Log.e(className,createMsg(msg.toString())); } }