Android打印工具类

来源:互联网 发布:Linux mv移动文件 编辑:程序博客网 时间:2024/05/23 02:21
    Android打印调试类,使用的时候将Log换成LogTools即可,其他地方不变。
public class LogTools {    private static final String DEBUG_TAG = "TEST";    public static void v(String tag, String msg){        Log.v(tag, LogTools.appendExtraStr(msg));    }    public static void i(String tag, String msg){        Log.i(tag, LogTools.appendExtraStr(msg));    }    public static void d(String tag, String msg){        Log.d(tag, LogTools.appendExtraStr(msg));    }    public static void w(String tag, String msg){        Log.w(tag, LogTools.appendExtraStr(msg));    }    public static void e(String tag, String msg){        Log.e(tag, LogTools.appendExtraStr(msg));    }    private static String appendExtraStr(String msg){        StringBuilder stringBuilder = new StringBuilder();        stringBuilder.append(msg).append("   [").append(LogTools._FUNC_()).append("; ").append(LogTools._FILE_()).append(":").append(LogTools._LINE_()).append("]");        return stringBuilder.toString();    }//当前文件名    private static String _FILE_() {        StackTraceElement traceElement = ((new Exception()).getStackTrace())[3];        return traceElement.getFileName();    }    // 当前方法名    private static String _FUNC_() {        StackTraceElement traceElement = ((new Exception()).getStackTrace())[3];        return traceElement.getMethodName();    }    // 当前行号    private static int _LINE_() {        StackTraceElement traceElement = ((new Exception()).getStackTrace())[3];        return traceElement.getLineNumber();    }}//调用堆栈    public static void printCallStatck() {        Throwable ex = new Throwable();        StackTraceElement[] stackElements = ex.getStackTrace();        StringBuilder logoutBuilder = new StringBuilder();        if (stackElements != null) {            logoutBuilder.append("---------------------------------------------");            for (int i = 0; i < stackElements.length; i++) {                logoutBuilder.append(stackElements[i].getClassName()+"/");                logoutBuilder.append(stackElements[i].getFileName()+"/");                logoutBuilder.append(stackElements[i].getLineNumber()+"/");                logoutBuilder.append(stackElements[i].getMethodName()+"\r\n");            }            logoutBuilder.append("---------------------------------------------");        }        LogTools.d(DEBUG_TAG, logoutBuilder.toString());    }
原创粉丝点击