Android中最常用的莫过于Log了,虽然我们很常用,虽然Android系统本身的Log工具也足够的强大,但是总有些不尽人意的地方。比如:你现在的这个项目比较大,项目期间为了方便测试在很多地方打印了Log,但在项目结束的时候总不能一个个去找并注释掉,难免会有漏网之鱼。待项目上线之后仍会继续打印Log,这不但会降低程序的运行效率,还有可能将一些数据泄露出去。那该怎么办呢?让我们一起看看下面的代码吧。
import android.util.Log;
/**
* 创建: MengPeng
* 日期: 2017/3/6 , 下午10:39.
* 作用: 日志打印工具类
*/
public class LogUtils {
public static final int VERBOSE = 1;
public static final int DEBUG = 2;
public static final int INFO = 3;
public static final int WARN = 4;
public static final int ERROR = 5;
public static final int NOTHING = 6;
public static final int LEVEL = VERBOSE;
/**
* VERBOSE级别的log
*
* @param tag log标志
* @param msg log信息
*/
public static void v(String tag, String msg) {
if (LEVEL <= VERBOSE) {
Log.v(tag, msg);
}
}
/**
* DEBUG级别的log
*
* @param tag log标志
* @param msg log信息
*/
public static void d(String tag, String msg) {
if (LEVEL <= DEBUG) {
Log.d(tag, msg);
}
}
/**
* INFO级别的log
*
* @param tag log标志
* @param msg log信息
*/
public static void i(String tag, String msg) {
if (LEVEL <= INFO) {
Log.i(tag, msg);
}
}
/**
* WARN级别的log
*
* @param tag log标志
* @param msg log信息
*/
public static void w(String tag, String msg) {
if (LEVEL <= WARN) {
Log.w(tag, msg);
}
}
/**
* ERROR级别的log
*
* @param tag log标志
* @param msg log信息
*/
public static void e(String tag, String msg) {
if (LEVEL <= ERROR) {
Log.e(tag, msg);
}
}
}
使用的时候就很方便啦,LogUtils.d(tag , msg);
当我们项目上线的时候,我们只需要把:
public static final int LEVEL = VERBOSE;
改成:
public static final int LEVEL = NOTHING;
就算大功告成了,确实挺方便的。不足之处还希望大家在留言区多多指教。谢谢啦!