Logger

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());
       }
   }
}

你可能感兴趣的:(Logger)