android常用工具类 -- 打印log日志

[java] view plain copy
 
  1. public class LogUtils {  
  2.   
  3.     //   public static final boolean IsNeedLog = true;  
  4.     public static final boolean IsNeedLog = true;  
  5.   
  6.     /** 日志输出时的TAG */  
  7.     private static String mTag = "xx_application_log";  
  8.   
  9.     /** 日志输出级别NONE */  
  10.     public static final int LEVEL_NONE = 0;  
  11.     /** 日志输出级别V */  
  12.     public static final int LEVEL_VERBOSE = 1;  
  13.     /** 日志输出级别D */  
  14.     public static final int LEVEL_DEBUG = 2;  
  15.     /** 日志输出级别I */  
  16.     public static final int LEVEL_INFO = 3;  
  17.     /** 日志输出级别W */  
  18.     public static final int LEVEL_WARN = 4;  
  19.     /** 日志输出级别E */  
  20.     public static final int LEVEL_ERROR = 5;  
  21.   
  22.   
  23.     /** 是否允许输出log */  
  24.     private static int mDebuggable = LEVEL_ERROR;  
  25.   
  26.     /** 用于记时的变量 */  
  27.     private static long mTimestamp = 0;  
  28.     /** 写文件的锁对象 */  
  29.   
  30.     /** 以级别为 v 的形式输出LOG,输出颜色为黑色的,输出大于或等于VERBOSE日志级别的信息 */  
  31.     public static void v(String msg) {  
  32.         if (!IsNeedLog) {  
  33.             return;  
  34.         }  
  35.         if (mDebuggable >= LEVEL_VERBOSE) {  
  36.             Log.v(mTag, msg);  
  37.         }  
  38.     }  
  39.     public static void v(String tag,String msg) {  
  40.         if (!IsNeedLog) {  
  41.             return;  
  42.         }  
  43.         if (mDebuggable >= LEVEL_VERBOSE) {  
  44.             Log.v(tag, msg);  
  45.         }  
  46.     }  
  47.   
  48.     /** 以级别为 d 的形式输出LOG,输出颜色是蓝色的,输出大于或等于DEBUG日志级别的信息 */  
  49.     public static void d(String msg) {  
  50.         if (!IsNeedLog) {  
  51.             return;  
  52.         }  
  53.         if (mDebuggable >= LEVEL_DEBUG) {  
  54.             Log.d(mTag, msg);  
  55.         }  
  56.     }  
  57.   
  58.     /** 以级别为 i 的形式输出LOG,输出为绿色,输出大于或等于INFO日志级别的信息*/  
  59.     public static void i(String msg) {  
  60.         if (!IsNeedLog) {  
  61.             return;  
  62.         }  
  63.         if (mDebuggable >= LEVEL_INFO) {  
  64.             Log.i(mTag, msg);  
  65.         }  
  66.     }  
  67.   
  68.     /** 以级别为 w 的形式输出LOG,输出为橙色, 输出大于或等于WARN日志级别的信息*/  
  69.     public static void w(String msg) {  
  70.         if (!IsNeedLog) {  
  71.             return;  
  72.         }  
  73.         if (mDebuggable >= LEVEL_WARN) {  
  74.             Log.w(mTag, msg);  
  75.         }  
  76.     }  
  77.   
  78.     /** 以级别为 w 的形式输出Throwable,输出为红色,仅输出ERROR日志级别的信息.*/  
  79.     public static void w(Throwable tr) {  
  80.         if (!IsNeedLog) {  
  81.             return;  
  82.         }  
  83.         if (mDebuggable >= LEVEL_WARN) {  
  84.             Log.w(mTag, "", tr);  
  85.         }  
  86.     }  
  87.   
  88.     /** 以级别为 w 的形式输出LOG信息和Throwable */  
  89.     public static void w(String msg, Throwable tr) {  
  90.         if (!IsNeedLog) {  
  91.             return;  
  92.         }  
  93.         if (mDebuggable >= LEVEL_WARN && null != msg) {  
  94.             Log.w(mTag, msg, tr);  
  95.         }  
  96.     }  
  97.   
  98.     /** 以级别为 e 的形式输出LOG */  
  99.     public static void e(String msg) {  
  100.         if (!IsNeedLog) {  
  101.             return;  
  102.         }  
  103.         if (mDebuggable >= LEVEL_ERROR) {  
  104.             Log.e(mTag, msg);  
  105.         }  
  106.     }  
  107.   
  108.     /** 以级别为 e 的形式输出Throwable */  
  109.     public static void e(Throwable tr) {  
  110.         if (!IsNeedLog) {  
  111.             return;  
  112.         }  
  113.         if (mDebuggable >= LEVEL_ERROR) {  
  114.             Log.e(mTag, "", tr);  
  115.         }  
  116.     }  
  117.   
  118.     /** 以级别为 e 的形式输出LOG信息和Throwable */  
  119.     public static void e(String msg, Throwable tr) {  
  120.         if (!IsNeedLog) {  
  121.             return;  
  122.         }  
  123.         if (mDebuggable >= LEVEL_ERROR && null != msg) {  
  124.             Log.e(mTag, msg, tr);  
  125.         }  
  126.     }  
  127.   
  128.     /** 
  129.      * 把Log存储到文件中 
  130.      *  
  131.      * @param log 
  132.      *            需要存储的日志 
  133.      * @param path 
  134.      *            存储路径 
  135.      */  
  136.     // public static void log2File(String log, String path) {  
  137.     // log2File(log, path, true);  
  138.     // }  
  139.     //  
  140.     // public static void log2File(String log, String path, boolean append) {  
  141.     // synchronized (mLogLock) {  
  142.     // FileUtils.writeFile(log + "\r\n", path, append);  
  143.     // }  
  144.     // }  
  145.   
  146.     /** 
  147.      * 以级别为 e 的形式输出msg信息,附带时间戳,用于输出一个时间段起始点 
  148.      *  
  149.      * @param msg 
  150.      *            需要输出的msg 
  151.      */  
  152.     public static void msgStartTime(String msg) {  
  153.         mTimestamp = System.currentTimeMillis();  
  154.         if (!TextUtils.isEmpty(msg)) {  
  155.             e("[Started:" + mTimestamp + "]" + msg);  
  156.         }  
  157.     }  
  158.   
  159.     /** 以级别为 e 的形式输出msg信息,附带时间戳,用于输出一个时间段结束点* @param msg 需要输出的msg */  
  160.     public static void elapsed(String msg) {  
  161.         long currentTime = System.currentTimeMillis();  
  162.         long elapsedTime = currentTime - mTimestamp;  
  163.         mTimestamp = currentTime;  
  164.         e("[Elapsed:" + elapsedTime + "]" + msg);  
  165.     }  
  166.   
  167.     public static <T> void printList(List<T> list) {  
  168.         if (list == null || list.size() < 1) {  
  169.             return;  
  170.         }  
  171.         int size = list.size();  
  172.         i("---begin---");  
  173.         for (int i = 0; i < size; i++) {  
  174.             i(i + ":" + list.get(i).toString());  
  175.         }  
  176.         i("---end---");  
  177.     }  
  178.   
  179.     public static <T> void printArray(T[] array) {  
  180.         if (array == null || array.length < 1) {  
  181.             return;  
  182.         }  
  183.         int length = array.length;  
  184.         i("---begin---");  
  185.         for (int i = 0; i < length; i++) {  
  186.             i(i + ":" + array[i].toString());  
  187.         }  
  188.         i("---end---");  
  189.     }  
  190. }  
posted @ 2016-12-30 15:55  天涯海角路  阅读(196)  评论(0)    收藏  举报