美文网首页
Android中Log工具Timber

Android中Log工具Timber

作者: 放羊娃华振 | 来源:发表于2020-03-19 23:30 被阅读0次

    一、使用Timber的好处

    不再重复使用TAG。之前使用Log方法每次使用都需要定义并传入一个TAG,在Timber中,若使用DebugTree,默认为当前类类名,若使用自定义Tree,直接定义一次,到处使用,不需重复设置
    在打Timber调用处,不仅可以只输出Log,还可以执行其他操作。比如:存到数据库,进行输出,Socket传输,甚至显示到UI界面上等,只需要自定义Tree,并将对应逻辑在log(int priority, String tag, String message, Throwable t)方法中实现
    统一项目Log日志方法,输出形式,输出时间,更加符合面向对象思想

    二、使用方式

    1、引入
    api 'com.jakewharton.timber:timber:4.5.1'
    
    2、实现ReleaseLogTree
     private static class ReleaseLogTree extends Timber.Tree {
            @Override
            protected void log(int priority, String tag, String message, Throwable t) {
                // TODO: 2020-03-19 这里可以对log信息做各种各样的操作!!!数据库、网络等
                Log.i("TimberActivity", message);
            }
        }
    
        private static class ReleaseLogsTree extends Timber.DebugTree {
            @Override
            protected void log(int priority, String tag, String message, Throwable t) {
                // TODO: 2020-03-19 这里可以对log信息做各种各样的操作!!!数据库、网络等
                Log.i("TimberActivity", message);
                super.log(priority, tag, message, t);
            }
        }
    
    3、设置debug和release 打印树
     if (BuildConfig.DEBUG) {
                Timber.plant(new Timber.DebugTree());
            } else {
                Timber.plant(new ReleaseLogTree());
            }
    
    4、设置TAG
    Timber.tag("TimberActivity");
    
    5、调用打印Log
            Timber.i("log for i !");
            Timber.d("log for d !");
            Timber.v("log for v !");
            Timber.w("log for w !");
            Timber.e("log for e !");
    
    6、adb控制Log的打开关闭
    //开启log
    adb -d shell setprop log.tag.TimberActivity DEBUG
    //关闭log
    adb -d shell setprop log.tag.TimberActivity WARN
    

    相关文章

      网友评论

          本文标题:Android中Log工具Timber

          本文链接:https://www.haomeiwen.com/subject/ncoryhtx.html