Logger
2016-10-19 本文已影响2人
GuoBangbang
public class Logger{
private static final String TAG = "Logger";
public static void v(String tag, String msg) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.v(tag, msg);
}
}
public static void v(String tag, String msg, Throwable tr) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.v(tag, msg, tr);
}
}
public static void d(String tag, String msg) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.d(tag, msg);
}
}
public static void d(String tag, String msg, Throwable tr) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.d(tag, msg, tr);
}
}
public static void i(String tag, String msg) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.i(tag, msg);
}
}
public static void i(String tag, String msg, Throwable tr) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.i(tag, msg);
}
}
public static void w(String tag, String msg) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.w(tag, msg);
}
}
public static void w(String tag, String msg, Throwable tr) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.w(tag, msg, tr);
}
}
public static void w(String tag, Throwable tr) {
if (Constants.DEBUG && tr != null) {
Log.w(tag, tr);
}
}
public static void e(String tag, String msg) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
logE(tag, msg);
}
}
public static void e(String tag, String msg, Throwable tr) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.e(tag, msg, tr);
}
}
public static void e(String tag, Throwable e) {
e(tag, e.toString());
if (e instanceof ConnectTimeoutException || e instanceof SocketTimeoutException
|| e instanceof UnknownHostException) {
return;
}
StackTraceElement[] trace = e.getStackTrace();
for (int i = 0; i < trace.length; i++) {
e(tag, "\tat " + trace[i]);
}
Throwable ourCause = e.getCause();
if (ourCause != null) {
e(tag, ourCause);
}
}
public static void println(int priority, String tag, String msg) {
if (Constants.DEBUG && !StringUtils.isEmpty(msg)) {
Log.println(priority, tag, msg);
}
}
public static String getStackTraceString(Throwable tr) {
if (tr == null) {
return "";
}
Throwable t = tr;
while (t != null) {
if (t instanceof UnknownHostException) {
return "";
}
t = t.getCause();
}
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
tr.printStackTrace(pw);
return sw.toString();
}
private static void logE(String TAG, String str) {
str = str.trim();
int index = 0;
int maxLength = 4000;
String sub;
while (index < str.length()) {
// java的字符不允许指定超过总的长度end
if (str.length() <= index + maxLength) {
sub = str.substring(index);
} else {
sub = str.substring(index, str.length());
}
index += maxLength;
Log.e(TAG, sub.trim());
}
}
}