在Android开发和调试的过程中,Log的使用是非常频繁的,一个好的Log工具可以帮你节省很多时间,所以凯子哥抽空写了个这个开源项目
在Android开发和调试的过程中,Log的使用是非常频繁的,一个好的Log工具可以帮你节省很多时间,所以凯子哥抽空写了个这个开源项目KLog,希望可以帮助大家提高开发效率。
KLog功能介绍
KLog最新版本号为1.5.0。
以下是最新版本KLog拥有的特性
支持显示行号
支持显示Log所在函数名称
支持无Tag快捷打印
支持在Android Studio开发IDE中,点击函数名称,跳转至Log所在位置
支持JSON字符串解析打印
支持XML字符串解析打印
支持Log信息存储到文件
依赖库非常小,只有不到10K
支持无限长字符串打印,无Logcat4000字符限制
支持变长参数,任意个数打印参数
支持设置全局Tag
KLog使用三千问
我想快速观察某处代码有没有执行怎么办?
直接KLog.d(),不需要设置Tag,不需要输入任何字符串信息,就可以自动打印
06-14 22:32:05.889 19851-19851/com.socks.klog.sample V/Kai: [ (MainActivity.java:68)#Log ] execute |
我想把整个App的Tag都设置成一个怎么办?
初始化的时候使用这个函数来设置全局的Tag,就可以通过Tag过滤出整个App的Log了
KLog.init(BuildConfig.LOG_DEBUG, "Kai"); |
我想自己设置每个Log的Tag怎么办?
和使用Log一样,只是需要用KLog来完成而已
KLog.d(TAG, LOG_MSG); |
我要打印的字符串非常长,系统自带的Log只能显示一部分怎么办?
KLog会对超长字符串进行处理,保证全部的字符串都可以打印出来,再也没有了只能打印一部分的问题了~
我要输出的格式是Json的,我想打印出Json格式怎么办
直接
KLog.json(JSON); |
就可以自动的将Json格式输出
06-14 22:37:43.042 19851-19851/com.socks.klog.sample D/Kai: ╔═══════════════════════════════════════════════════════════════════════════════════════ |
我想输出XML格式呢?
一样简单,只需要
KLog.xml(XML); |
就可以输出XML格式了
06-14 22:38:34.629 19851-19851/com.socks.klog.sample D/Kai: ╔═══════════════════════════════════════════════════════════════════════════════════════ |
我有一段字符串需要处理,能自动保存到文件吗?
当然可以,只需要
KLog.file(TAG, Environment.getExternalStorageDirectory(), "test.txt", JSON_LONG); |
就可以保存了
06-14 22:40:19.418 19851-19851/com.socks.klog.sample D/Kai: [ (MainActivity.java:134)#LogWithFile ] save log success ! location is >>>/storage/emulated/0/test.txt |
KLog这么强大,会不会占用很大的空间?
Klog依赖包只有10K大小,只需要10K,就可以满足你日常打印Log的需求,超值!
我想用KLog,应该怎么办呢?
最简单的方法,你可以直接使用gradle引用
dependencies { |
当然,在项目里面也提供了KLog.jar,你也可以直接拷贝到你的项目里使用。
使用KLog的过程中,有没有最佳实践?
当然有,下面就介绍几个最佳实践。
请在Application初始化的时候就对KLog进行初始化,因为KLog的初始化过程非常的简单,因此不会影响App的启动速度
public class KLogApplication extends Application { |
对于全局打印开关,推荐使用Gradle变量进行控制,这样当发布release版本的时候,就会自动的关闭Log的输出,防止信息的泄露和影响效率。
具体的设置方法如下:
首先在BuildConfig中添加自定义字段。
public final class BuildConfig { |
然后在主项目的gradle中添加变量LOG_DEBUG,并且在debug和release下分别设置不同的值
android { buildTypes { debug { buildConfigField "boolean", "LOG_DEBUG", "true" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { buildConfigField "boolean", "LOG_DEBUG", "false" minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
这样当发布release版本的时候就会自动关闭Log的输出。
如果想在release版本中也打印Log,只需要修改release括号内的LOG_DEBUG为true就可以了。
如何设置不同等级的Log颜色
另外,为了Log更好的查看效果,可以为不同的Log等级设置不同的颜色,这样便于Log的观看。
如下,需要“Save as”保存主题,然后取消“use inherited attributes”,即可设置自己想要的颜色
我的配色方案:
A=FF2E0E
D=38F838
E=FF6B68
I=1DBB92
V=FFF7EE
W=FF9229
打印效果
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章