Android中如何关闭Log

Android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,

DEBUG,INFO, WARN,ERROR。

1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");

2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.

3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息

4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化android代码,同时选择它后还会输出Log.e的信息。

5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。


      开发过程中在程序中有打了很多的log,以方便调试程序,当初项目组内每个人打log的方式也没有统一。项目结项正式发布程序时需要关闭log,删掉肯定不行,统一修改也挺麻烦的。今天在网上搜索了一下,找到了三种方法:

方法一:

在Application中设置一个全局的标记,例如:public static final boolean DEBUG=true;

if (DEBUG) {

    Log.d(LOG_TAG, "Something");

}

需要关闭log时,只需将DEBUG的值改为false。

该方法的缺点为:每次打log都需要添加if进行判断。


方法二:

在proguard.cfg文件中加入

-assumenosideeffects class android.util.Log {  

     public static *** d(...);  

     public static *** v(...);  



方法三:

自动写一个日志类,以取代android.util.Log类:

import android.content.Context;

import android.util.Log;

import android.widget.Toast;


public class DebugUtil {

    public static final boolean DEBUG = true;

     

    public static void toast(Context context,String content) {

        Toast.makeText(context, content, Toast.LENGTH_SHORT).show();

    }

    

    public static void v(String tag,String msg) {

        if (DEBUG) {

            Log.v(tag, msg);

        }

    }

     

    public static void d(String tag,String msg) {

        if (DEBUG) {

            Log.d(tag, msg);

        }

    }

    

    public static void i(String tag,String msg) {

        if (DEBUG) {

            Log.i(tag, msg);

        }

    }

    

    public static void w(String tag,String msg) {

        if (DEBUG) {

            Log.w(tag, msg);

        }

    }

    

    public static void e(String tag,String msg) {

        if (DEBUG) {

            Log.e(tag, msg);

        }

    }    

}

需要import该类,使用的时候将以往的Log.d(**,**)变为DebugUtil.d(**,**)即可。

将DEBUG的值设为false时可以关闭所有log,假如需要开启w和e级别的log,只需将DebugUtil类对应w和e方法中的if语句去掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值