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:goorwl@163.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,956评论 25 709
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,118评论 6 342
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,396评论 4 61
  • 都十点半了,今天的主题还没有想好,脑子里空荡荡的,一个态度都没有。灵感这事很奇怪。来的时候,什么都能写一篇,不来的...
    小主正红阅读 1,315评论 0 0

友情链接更多精彩内容