EasyLog控件简介

前言

个人第一个开源控件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:[email protected]

你可能感兴趣的:(EasyLog控件简介)