如果正在编写一个比较庞大的项目,期间为了方便调试,在代码的很多地方都打印了大量的日志。项目已经基本完成产品正式上线了,但是之前用于调试的那些日志仍然会照常打印,这样不仅会降低程序的运行效率,还可能将一些机密性的数据泄露出去。
显然把所有日志信息注释掉效率太低。因此,最好能够自由控制日志的打印,当程序处于开发阶段就让日志打印出来,当程序上线后就把日志屏蔽掉。
只需要定制一个日志工具就可以轻松控制日志的打印了。新建一个 LogUtil 类,代码如下:
public class LogUtil {
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;
//只有当LEVEL常量值小于等于对应日志级别才会打印日志
public static final int LEVEL = VERBOSE;
public static void v(String tag,String msg){
if(LEVEL<=VERBOSE){
Log.v(tag,msg);
}
}
public static void d(String tag,String msg){
if(LEVEL<=DEBUG){
Log.d(tag, msg);
}
}
public static void i(String tag,String msg){
if(LEVEL<=INFO){
Log.i(tag, msg);
}
}
public static void w(String tag,String msg){
if(LEVEL<=WARN){
Log.w(tag, msg);
}
}
public static void e(String tag,String msg){
if(LEVEL<=ERROR){
Log.e(tag, msg);
}
}
}
我们只需要修改 LEVEL 常量的值,就可以自由地控制日志的打印行为了。
LogUtil.v("woider", "日志信息");
LogUtil.d("woider", "调试信息");
LogUtil.i("woider", "数据信息");
LogUtil.w("woider", "警告信息");
LogUtil.e("woider", "错误信息");
使用了这种方法之后,只需要在开发阶段将 LEVEL 指定成 VERBOSE,当项目正式上线的时候将 LEVEL 指定成 NOTHING 就可以了。
热门评论
然而多了一层判断,,,,
打个酱油,点个赞\(≧▽≦)/
Android打包自己会关debug的