LogUtil.java 源代码
package com.x8zs.plugin.utils;
import android.text.TextUtils;
import android.util.Log;
public class LogUtil {
public static boolean allowD = true;
public static boolean allowE = true;
public static boolean allowI = true;
public static boolean allowV = true;
public static boolean allowW = true;
public static boolean allowWtf = true;
public static CustomLogger customLogger = null;
public static String customTagPrefix = "";
public interface CustomLogger {
void d(String str, String str2);
void d(String str, String str2, Throwable th);
void e(String str, String str2);
void e(String str, String str2, Throwable th);
void i(String str, String str2);
void i(String str, String str2, Throwable th);
void v(String str, String str2);
void v(String str, String str2, Throwable th);
void w(String str, String str2);
void w(String str, String str2, Throwable th);
void w(String str, Throwable th);
void wtf(String str, String str2);
void wtf(String str, String str2, Throwable th);
void wtf(String str, Throwable th);
}
private LogUtil() {
}
public static void d(String str) {
if (allowD) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.d(generateTag, str);
} else {
Log.d(generateTag, str);
}
}
}
public static void e(String str, Class<?> cls, String str2) {
if (allowE) {
Log.e(str, cls.getCanonicalName() + ": " + str2);
}
}
private static String generateTag(StackTraceElement stackTraceElement) {
String className = stackTraceElement.getClassName();
String format = String.format("%s.%s(L:%d)", className.substring(className.lastIndexOf(".") + 1), stackTraceElement.getMethodName(), Integer.valueOf(stackTraceElement.getLineNumber()));
if (!TextUtils.isEmpty(customTagPrefix)) {
return customTagPrefix + ":" + format;
}
return format;
}
public static StackTraceElement getCallerStackTraceElement() {
return Thread.currentThread().getStackTrace()[4];
}
public static void i(String str, Class<?> cls, String str2) {
if (allowE) {
Log.i(str, cls.getCanonicalName() + ": " + str2);
}
}
public static void v(String str) {
if (allowV) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.v(generateTag, str);
} else {
Log.v(generateTag, str);
}
}
}
public static void w(String str) {
if (allowW) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.w(generateTag, str);
} else {
Log.w(generateTag, str);
}
}
}
public static void wtf(String str) {
if (allowWtf) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.wtf(generateTag, str);
} else {
Log.wtf(generateTag, str);
}
}
}
public static void e(String str) {
if (allowE) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.e(generateTag, str);
} else {
Log.e(generateTag, str);
}
}
}
public static void i(String str) {
if (allowI) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.i(generateTag, str);
} else {
Log.i(generateTag, str);
}
}
}
public static void d(String str, Throwable th) {
if (allowD) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.d(generateTag, str, th);
} else {
Log.d(generateTag, str, th);
}
}
}
public static void v(String str, Throwable th) {
if (allowV) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.v(generateTag, str, th);
} else {
Log.v(generateTag, str, th);
}
}
}
public static void w(String str, Throwable th) {
if (allowW) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.w(generateTag, str, th);
} else {
Log.w(generateTag, str, th);
}
}
}
public static void wtf(String str, Throwable th) {
if (allowWtf) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.wtf(generateTag, str, th);
} else {
Log.wtf(generateTag, str, th);
}
}
}
public static void e(String str, Throwable th) {
if (allowE) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.e(generateTag, str, th);
} else {
Log.e(generateTag, str, th);
}
}
}
public static void i(String str, Throwable th) {
if (allowI) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.i(generateTag, str, th);
} else {
Log.i(generateTag, str, th);
}
}
}
public static void d(String str, Class<?> cls, String str2) {
if (allowE) {
Log.d(str, cls.getCanonicalName() + ": " + str2);
}
}
public static void w(Throwable th) {
if (allowW) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.w(generateTag, th);
} else {
Log.w(generateTag, th);
}
}
}
public static void wtf(Throwable th) {
if (allowWtf) {
String generateTag = generateTag(getCallerStackTraceElement());
CustomLogger customLogger2 = customLogger;
if (customLogger2 != null) {
customLogger2.wtf(generateTag, th);
} else {
Log.wtf(generateTag, th);
}
}
}
}