继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android 自定义日志工具

woider
关注TA
已关注
手记 23
粉丝 209
获赞 1963

如果正在编写一个比较庞大的项目,期间为了方便调试,在代码的很多地方都打印了大量的日志。项目已经基本完成产品正式上线了,但是之前用于调试的那些日志仍然会照常打印,这样不仅会降低程序的运行效率,还可能将一些机密性的数据泄露出去
显然把所有日志信息注释掉效率太低。因此,最好能够自由控制日志的打印,当程序处于开发阶段就让日志打印出来,当程序上线后就把日志屏蔽掉。


只需要定制一个日志工具就可以轻松控制日志的打印了。新建一个 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 就可以了。

打开App,阅读手记
10人推荐
发表评论
随时随地看视频慕课网APP

热门评论

然而多了一层判断,,,,

打个酱油,点个赞\(≧▽≦)/

Android打包自己会关debug的

查看全部评论