Android Log高级用法

Log Level

我们知道不管在AS还是Eclipse中查看log,选择不同的Log Level查看到不同的log
只有当前的level比Log Level要大,才会显示log,做了过滤

    /**
     * Priority constant for the println method; use Log.v.
     */
    public static final int VERBOSE = 2;

    /**
     * Priority constant for the println method; use Log.d.
     */
    public static final int DEBUG = 3;

    /**
     * Priority constant for the println method; use Log.i.
     */
    public static final int INFO = 4;

    /**
     * Priority constant for the println method; use Log.w.
     */
    public static final int WARN = 5;

    /**
     * Priority constant for the println method; use Log.e.
     */
    public static final int ERROR = 6;

    /**
     * Priority constant for the println method.
     */
    public static final int ASSERT = 7;

Log.isLoggable方法的使用

android 动态控制logcat日志开关,通过Log.isLoggable(TAG,level)方法动态控制,
1.添加日志的时候加入判断

        String TAG="Volley";
        boolean isDbug=Log.isLoggable(TAG, Log.VERBOSE);
        if (isDbug) {
            Log.w(TAG, "log");
        }

2.通过设置属性值来控制该日志开关

首先可以通过adb shell getprop log.tag.Volley查看系统属性值 如果没有设置是查看不到值的,但是同时默认值是INFO,就是说如果不做任何设置,Log.isLoggable(TAG, Log.VERBOSE);返回的都将是false,因为VERBOSE等级值比INFO小

通过adb shell setprop log.tag.Volley VERBOSE设置该TAG的输出级别为VERBOSE。 那么说明Log.isLoggable(“Volley”, Log.VERBOSE) level为VERBOSE以及以上的level的都返回true,又因为VERBOSE就是最小的一个等级,所以isLoggable返回的始终是true,每设置一次,只能用于一部手机没有重启的情况,如果换一部或者重启要重新设置一下;这样的好处是,自己开发的手机设置一次,都能打印VERBOSE,编译给别的手机就不能打印VERBOSE信息,这样就不用每次正式发布时要把isDbug设置为false。该属性值取值顺序为【V,D,I,W,E,A,S】 A表示最高级别的日志,即assert;S表示Suppress,即停止该日志的输出。

也可以将该属性添加在data/local.prop属性文件中,不同的是,只要存在local.prop,该手机重启与否都一样,可以打印VERBOSE

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值