美文网首页
EasyLog控件简介

EasyLog控件简介

作者: Goorwl | 来源:发表于2017-11-10 14:11 被阅读0次

    前言

    个人第一个开源控件Easylog,希望大家多多关注,及时反馈需求以及bug,共同进步,已开源。
    GitHub:https://github.com/Goorwl/Easylog

    概述

    Easylog 是Android平台的一款开源的,简单易用的日志输出工具。

    特点

    • 配置简单,使用方便,从此日志输出so easy
    • 对工程代码影响小,不需要修改原代码
    • 提示信息明显,使用上下边框进行区分
    • 定位直接,调试信息输出代码位置

    快速配置

    在项目的module模块的build.gradle文件添加如下信息:

    dependencies {
        ......
        compile 'com.goorwl:easylog:0.5.0'
    }
    

    同步一下即可。

    使用方式

    代码:

    EasyLog.v("test verbose info...");
    EasyLog.i("test info info...");
    EasyLog.d("test debug info...");
    EasyLog.w("test warn info...");
    EasyLog.e("test error info...");
    

    输出:

    V/= EasyLog =: *******************
    V/= EasyLog =: test verbose info...
    V/= EasyLog =: *******************
    I/= EasyLog =: *****************
    I/= EasyLog =: test info info...
    I/= EasyLog =: *****************
    D/= EasyLog =: ******************
    D/= EasyLog =: test debug info...
    D/= EasyLog =: ******************
    W/= EasyLog =: *****************
    W/= EasyLog =: test warn info...
    W/= EasyLog =: *****************
    E/= EasyLog =: ******************
    E/= EasyLog =: test error info...
    E/= EasyLog =: ******************
    

    高级配置

    为了提高当前工具的更多效果,现添加如下设置。

    设置TAG

    默认输出日志的TAG是:= EasyLog =,如果需要单独设置,可通过setTag(String tag)函数进行设置。

    代码:

    EasyLog.v("test verbose info...");
    EasyLog.setTag("TEST-TAG");
    EasyLog.i("test info info...");
    

    输出:

    V/= EasyLog =: *******************
    V/= EasyLog =: test verbose info...
    V/= EasyLog =: *******************
    I/TEST-TAG: *****************
    I/TEST-TAG: test info info...
    I/TEST-TAG: *****************
    

    设置输出时间

    代码:

    EasyLog.setIsTime(true);
    

    输出:

    11-10 03:13:55.459 4597-4597/? D/= EasyLog =: *****************************************
    11-10 03:13:55.459 4597-4597/? D/= EasyLog =: 2017-11-10 03:13:55 == test debug info...
    11-10 03:13:55.459 4597-4597/? D/= EasyLog =: *****************************************
    11-10 03:13:55.459 4597-4597/? W/= EasyLog =: ****************************************
    11-10 03:13:55.459 4597-4597/? W/= EasyLog =: 2017-11-10 03:13:55 == test warn info...
    11-10 03:13:55.459 4597-4597/? W/= EasyLog =: ****************************************
    

    设置显示定位信息

    代码:

    EasyLog.setClazz(this);     // 参数:当前类的对象,如果当前调用在静态方法,传入 new Xxx();
    EasyLog.setIsLine(true);
    

    输出:

    V/= EasyLog =: **********************************************
    V/= EasyLog =: (MainActivity.java:26) == test verbose info...
    V/= EasyLog =: **********************************************
    I/= EasyLog =: *******************************************
    I/= EasyLog =: (MainActivity.java:27) == test info info...
    I/= EasyLog =: *******************************************
    

    注:其中(MainActivity.java:xx)是可点击的,将会跳转到源代码部分,效果如下:

    可点击效果

    如果未设置activity,将会出现如下现象:

    V/= EasyLog =: **********************************************
    V/= EasyLog =: (the activity is null) == test verbose info...
    V/= EasyLog =: **********************************************
    I/= EasyLog =: *******************************************
    I/= EasyLog =: (the activity is null) == test info info...
    I/= EasyLog =: *******************************************
    

    恢复默认TAG

    由于当前设置之后对整个工程有效,区分度不是很明显,可以使用函数进行恢复默认,或者设置新的tag进行区分。
    代码:

    EasyLog.setTag("TEST-TAG");
    EasyLog.v("test verbose info...");
    EasyLog.initTag();
    EasyLog.i("test info info...");
    

    输出:

    V/TEST-TAG: *********************************************************************
    V/TEST-TAG: 2017-11-10 06:03:23 == (MainActivity.java:26) == test verbose info...
    V/TEST-TAG: *********************************************************************
    I/= EasyLog =: ******************************************************************
    I/= EasyLog =: 2017-11-10 06:03:23 == (MainActivity.java:28) == test info info...
    I/= EasyLog =: ******************************************************************
    

    全配置效果:

    代码:

    EasyLog.setTag("TEST-TAG");
    EasyLog.setIsTime(true);
    EasyLog.setClazz(this);
    EasyLog.setIsLine(true);
    EasyLog.v("test verbose info...");
    EasyLog.i("test info info...");
    

    简易写法:

    EasyLog.setTag("TEST-TAG");
    EasyLog.setClazz(this);
    EasyLog.setAll(true);
    EasyLog.v("test verbose info...");
    EasyLog.i("test info info...");
    

    输出:

    V/TEST-TAG: *********************************************************************
    V/TEST-TAG: 2017-11-10 03:28:00 == (MainActivity.java:25) == test verbose info...
    V/TEST-TAG: *********************************************************************
    I/TEST-TAG: ******************************************************************
    I/TEST-TAG: 2017-11-10 03:28:00 == (MainActivity.java:26) == test info info...
    I/TEST-TAG: ******************************************************************
    

    推荐使用

    代码:

    // 放置在 =每个类= 的最前面配置
    // setContentView(R.layout.activity_main); //设置布局下面
    EasyLog.auto(this);     // 参数:当前类的对象,如果当前调用在静态方法,传入 new Xxx();
    EasyLog.v("test verbose info...");
    EasyLog.i("test info info...");
    

    输出:

    V/= EasyLog =: *********************************************************************
    V/= EasyLog =: 2017-11-10 15:49:22 == (MainActivity.java:27) == test verbose info...
    V/= EasyLog =: *********************************************************************
    I/= EasyLog =: ******************************************************************
    I/= EasyLog =: 2017-11-10 15:49:22 == (MainActivity.java:28) == test info info...
    I/= EasyLog =: ******************************************************************
    

    取消输出

    鉴于使用当前控件的用户都是开发者,所以当前默认设置的是输出,如果上线,可以在代码比较靠前的位置设置不显示:

    EasyLog.setIsShow(false);
    

    如果需要进行新版本开发,只需要把上面代码注释掉即可显示日志输出信息。

    补充说明

    当前版本比较新,功能基本够用,如果大家还有新的需求,可以提出来,后续版本迭代会进行更新。

    联系方式

    E-mail:goorwl@163.com

    相关文章

      网友评论

          本文标题:EasyLog控件简介

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