Android LogUtil 日誌優化 調試的時候打印 點擊跳轉

打印日誌的時候,能夠點擊跳轉java

LogUtil.java

public class LogUtil {
    private static boolean IS_DEBUG = BuildConfig.DEBUG;

    public static void i(String tag, String message) {
        if (IS_DEBUG) {
            Log.i(tag + "-->:"+getTargetStackTraceElement(), message);
        }
    }

    public static void e(String tag, String message) {
        if (IS_DEBUG) {
            Log.e(tag + "-->"+getTargetStackTraceElement(), message);
        }
    }
    public static void e(String tag, String message,Throwable tr) {
        if (IS_DEBUG) {
            Log.e(tag + "-->"+getTargetStackTraceElement(), message,tr);
        }
    }

    public static void w(String tag, String message) {
        if (IS_DEBUG) {
            Log.w(tag + "-->:"+getTargetStackTraceElement(), message);
        }
    }

    public static void v(String tag, String message) {
        if (IS_DEBUG) {
            Log.v(tag + "-->:"+getTargetStackTraceElement(), message);
        }
    }

    public static void d(String tag, String message) {
        if (IS_DEBUG) {
            Log.d(tag + "-->:"+getTargetStackTraceElement(), message);
        }
    }

    private static String getTargetStackTraceElement() {
        StackTraceElement targetStackTrace = null;
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        if(stackTrace.length>=4){
            targetStackTrace = stackTrace[4];
        }
        String s = "";
        if(null != targetStackTrace){
            s = "(" + targetStackTrace.getFileName() + ":"
                    + targetStackTrace.getLineNumber() + ")";
        }
        return s;
    }
}
相關文章
相關標籤/搜索