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)是可点击的,将会跳转到源代码部分,效果如下:
EasyLog控件简介
文章图片
可点击效果 如果未设置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);

如果需要进行新版本开发,只需要把上面代码注释掉即可显示日志输出信息。
补充说明 当前版本比较新,功能基本够用,如果大家还有新的需求,可以提出来,后续版本迭代会进行更新。
联系方式 【EasyLog控件简介】E-mail:goorwl@163.com

    推荐阅读