HiLogcatUtil.java 源代码


package utils;

import android.text.TextUtils;
import android.util.Log;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class HiLogcatUtil {
    static final boolean $assertionsDisabled = false;
    private static final int D = 3;
    private static final int E = 6;
    private static final int I = 4;
    private static final String LINE_SEPARATOR = System.getProperty("line.separator");
    public static boolean LOG_SWITCH = false;
    private static final String TAG = "HiLogcat";
    public static final String TAG_BLACK_UID = "HiLogcatBlackUID";
    private static final String TAG_ERROR = "HiLogcatError";
    public static final String TAG_Google = "HiLogcatGoogle";
    public static final String TAG_IO = "HiLogcatIOData";
    private static final String TAG_JSON = "HiLogcatJson";
    public static final String TAG_PUSH = "HiLogcatPush";
    public static final String TAG_SESSION = "HiLogcatSession";
    private static final int V = 2;
    private static final int W = 5;

    private HiLogcatUtil() {
        throw new UnsupportedOperationException("u can't instantiate me...");
    }

    private static StackTraceElement getCurrentStackTraceElement() {
        return Thread.currentThread().getStackTrace()[4];
    }

    private static String getContent(StackTraceElement stackTraceElement, String str) {
        return String.format("%s:%s.%s:%d", str, stackTraceElement.getClassName(), stackTraceElement.getMethodName(), Integer.valueOf(stackTraceElement.getLineNumber()));
    }

    public static void v(String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str : strArr) {
                sb.append(str);
                sb.append(".");
            }
            Log.v(TAG, getContent(getCurrentStackTraceElement(), TAG) + ">" + sb.toString());
        }
    }

    public static void vTag(String str, String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str2 : strArr) {
                sb.append(str2);
                sb.append(".");
            }
            Log.v(str, getContent(getCurrentStackTraceElement(), str) + ">" + sb.toString());
        }
    }

    public static void d(String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str : strArr) {
                sb.append(str);
                sb.append(".");
            }
            Log.d(TAG, getContent(getCurrentStackTraceElement(), TAG) + ">" + sb.toString());
        }
    }

    public static void dTag(String str, String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str2 : strArr) {
                sb.append(str2);
                sb.append(".");
            }
            Log.d(str, getContent(getCurrentStackTraceElement(), str) + ">" + sb.toString());
        }
    }

    public static void i(String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str : strArr) {
                sb.append(str);
                sb.append(".");
            }
            Log.i(TAG, getContent(getCurrentStackTraceElement(), TAG) + ">" + sb.toString());
        }
    }

    public static void iTag(String str, String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str2 : strArr) {
                sb.append(str2);
                sb.append(".");
            }
            Log.i(str, getContent(getCurrentStackTraceElement(), str) + ">" + sb.toString());
        }
    }

    public static void w(String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str : strArr) {
                sb.append(str);
                sb.append(".");
            }
            Log.w(TAG, getContent(getCurrentStackTraceElement(), TAG) + ">" + sb.toString());
        }
    }

    public static void wTag(String str, String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str2 : strArr) {
                sb.append(str2);
                sb.append(".");
            }
            Log.w(str, getContent(getCurrentStackTraceElement(), str) + ">" + sb.toString());
        }
    }

    public static void e(String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str : strArr) {
                sb.append(str);
                sb.append(".");
            }
            Log.e(TAG_ERROR, getContent(getCurrentStackTraceElement(), TAG_ERROR) + ">" + sb.toString());
        }
    }

    public static void eTag(String str, String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str2 : strArr) {
                sb.append(str2);
                sb.append(".");
            }
            Log.e(str, getContent(getCurrentStackTraceElement(), str) + ">" + sb.toString());
        }
    }

    private static void log(int i, String str, String... strArr) {
        if (LOG_SWITCH) {
            StringBuilder sb = new StringBuilder();
            for (String str2 : strArr) {
                sb.append(str2);
                sb.append(".");
            }
            String sb2 = sb.toString();
            if (i == 2) {
                Log.v(str, sb2);
                return;
            }
            if (i == 3) {
                Log.d(str, sb2);
                return;
            }
            if (i == 4) {
                Log.i(str, sb2);
            } else if (i == 5) {
                Log.w(str, sb2);
            } else {
                if (i != 6) {
                    return;
                }
                Log.e(str, sb2);
            }
        }
    }

    private static void printLine(boolean z) {
        if (z) {
            Log.d(TAG_JSON, "╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════");
        } else {
            Log.d(TAG_JSON, "╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════");
        }
    }

    public static void json(String str, String str2) {
        String str3;
        String str4;
        if (LOG_SWITCH) {
            try {
            } catch (JSONException unused) {
                str3 = str;
            }
            if (str.startsWith("{")) {
                str3 = new JSONObject(str).toString(4);
            } else {
                if (str.startsWith("[")) {
                    str3 = new JSONArray(str).toString(4);
                }
                str3 = str;
            }
            if ((str.contains("-->") || str.contains("<--")) && !str.contains("END")) {
                printLine(true);
                str4 = str2 + LINE_SEPARATOR + str3;
            } else {
                str4 = LINE_SEPARATOR + str3;
            }
            for (String str5 : str4.split(LINE_SEPARATOR)) {
                if (!TextUtils.isEmpty(str5)) {
                    Log.d(TAG_JSON, "║ " + str5);
                }
            }
            if ((str.contains("-->") || str.contains("<--")) && str.contains("END")) {
                printLine(false);
            }
        }
    }
}