android Log

来源:互联网 发布:二维dct变换矩阵 编辑:程序博客网 时间:2024/06/07 04:53

借鉴了imageload 项目的log

log封装类 :

package com.david.toolkit;import android.util.Log;/** *  * 自定义log工具类 ,可以在项目之初设定项目的log tag  *  * 通过开关控制log是否打印以及打印级别 *  * 在项目发布时可以做一下设置将log关闭 , * 1、通过setEnable(false) 关闭所有log * 2、setLogLevel(android.util.Log.WARN)限定只打印warn以上日志 * 3、发布打包时删除部分log代码 * 在project.properties中添加 proguard.config=proguard-project.txt * 在proguard-project.txt中添加 *  * -assumenosideeffects class com.david.toolkit.L {public static int v(...);public static int d(...);public static int i(...);} *  *  * @author David.Zhang * */public class L {private static int LOG_LEVEL = android.util.Log.VERBOSE ;private static boolean ENABLE = false ;private static final String LOG_FORMAT = "\n%1$s\n%2$s";private static String TAG = "===David.Zhang.toolkit.Debug===" ;/** * 打印log开关  * TRUE: 可以打印 * FALSE 不能打印 * @param enable */public static void setEnable(boolean enable){ENABLE = enable ;}/** * 是否可以打印 * @return */public static boolean isEnable(){return ENABLE ;}/** * 设置打印log 级别,取值参考 *  {@link android.util.Log#VERBOSE} * {@link android.util.Log#DEBUG} *{@link android.util.Log#INFO} * {@link android.util.Log#WARN} * {@link android.util.Log#ERROR} *  * 是否可以打印还需参考 {@link #isEnable()} 的取值 *  * @param level */public static void setLogLevel (int level){LOG_LEVEL = level ;}/** *  设置tag , 如果不设置使用默认tag * @param tag */public static void setTag(String tag){TAG = tag ;}public static void v(String tag ,String msg ){log(Log.VERBOSE, null, tag, msg);}public static void v(String tag ,String msg ,Throwable tr ){log(Log.VERBOSE, tr, tag, msg);}public static void d(String tag ,String msg ){log(Log.DEBUG, null, tag, msg);}public static void d(String tag ,String msg ,Throwable tr ){log(Log.DEBUG, tr, tag, msg);}public static void i(String tag ,String msg ){log(Log.INFO, null, tag, msg);}public static void i(String tag ,String msg ,Throwable tr ){log(Log.INFO, tr, tag, msg);}public static void w(String tag ,String msg ){log(Log.WARN, null, tag, msg);}public static void w(String tag ,String msg ,Throwable tr ){log(Log.WARN, tr, tag, msg);}public static void e(String tag ,String msg ){log(Log.ERROR, null, tag, msg);}public static void e(String tag ,String msg ,Throwable tr ){log(Log.ERROR, tr, tag, msg);}public static void log(int priority, String tag , String msg ) {log(priority, null, tag, msg);}public static void log(int priority, Throwable ex, String tag , String msg ) {if (!ENABLE || priority < LOG_LEVEL ) return;String log ="";if (ex != null) {String logMessage = ex.getMessage() ;String logBody = Log.getStackTraceString(ex);log = String.format(LOG_FORMAT, logMessage, logBody);}Log.println(priority, TAG, tag + " +++++++>>> "+ msg + log);}/*////////////////////////////////////////////////  非静态/////////////////////////////////////////////private boolean enable_module = true ;private String tag_module = "" ;public L(String tag ){this(tag, true) ;}public L(String tag, boolean enable){tag_module = tag ;enable_module = enable ;}public  void vm(String tag ,String msg ){logvm(Log.VERBOSE, null, tag, msg);}public void dm(String tag ,String msg ){log(Log.DEBUG, null, tag, msg);}public void im(String tag ,String msg ){log(Log.INFO, null, tag, msg);}public void wm(String tag ,String msg ){log(Log.WARN, null, tag, msg);}public void em(String tag ,String msg ){log(Log.ERROR, null, tag, msg);}



调用时根据需要可以再封装一层,coding阶段测试使用


package com.david.toolkit;public class Log {// ////////////////////////////////////////////// 非静态// ///////////////////////////////////////////private boolean enable_module = true;private String tag_module = "";public Log(String tag) {this(tag, true);}public Log(String tag, boolean enable) {tag_module = tag;enable_module = enable;}public void v( String msg) {log(android.util.Log.VERBOSE, null,  msg);}public void v( String msg, Throwable tr) {log(android.util.Log.VERBOSE, tr,  msg);}public void d( String msg) {log(android.util.Log.DEBUG, null,  msg);}public void d( String msg, Throwable tr) {log(android.util.Log.DEBUG, tr,  msg);}public void i( String msg) {log(android.util.Log.INFO, null,  msg);}public void i( String msg, Throwable tr) {log(android.util.Log.INFO, tr,  msg);}public void w( String msg) {log(android.util.Log.WARN, null,  msg);}public void w( String msg, Throwable tr) {log(android.util.Log.WARN, tr,  msg);}public void e( String msg) {log(android.util.Log.ERROR, null,  msg);}public void e( String msg, Throwable tr) {log(android.util.Log.ERROR, tr,  msg);}public void log(int priority,  String msg) {log(priority, null,  msg);}private void log(int priority, Throwable ex,  String msg) {if (enable_module)return;L.log(priority, ex, tag_module, msg);}}




0 0
原创粉丝点击