今天在微信公众号,看到了张神的推文,受益不少,所以把他分享到这里,若要看原文,可以到该网站:
http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=2650661894&idx=1&sn=b17a482ea79b848660be2e3cee9fdf37&scene=23&srcid=0615uMrdDHBepvLthi6uppQ0#rd
我们在学习开发的第一件事应该就接触了 Log ,也就是 Android 开发中用来调试的日志,我们一般是这样使用:
Log.d(TAG,"hello");
效果一般如下:
可以看到很乱,而且输出 json 格式的话也没有格式化,也没法快速定位到 Log 的位置,那么今天就给大家推荐一款非常好用的 Log 工具,也是我们团队在用的。
用 GitHub 的原话介绍就是:「Simple, pretty and powerful logger for android」。
废话不多说,我们直接看下它的示例截图:
是不是很酷炫?那么下面稍微说下他的具体用法。
使用起来很简单,以下是最基本的用法:
Logger.d("test");
Logger.d("test%d", "3"); // String.format
效果如下:
可以看到包含了三个主要部分,默认直接显示了当前所在的线程,所在的类,调用方法,甚至直接给你指明调用位置的行数,而且直接点击跳转到日志具体位置,最后是该日志的输出。
输出json格式的日志:
Logger.json(YOUR_JSON_DATA);
对应的输出xml格式:
Logger.xml(YOUR_XML_DATA);
以上我们所有用法我们可以看到其实没有给 Log 加 TAG, 那是因为可以统一给所有日志打上标签:
Logger.init(YOUR_TAG);
如果想单独为某个日志打上不一样的标签:
Logger.t("mytag").d("hello");
当然还有更多的用法与配置,比如外层方法数量,自定义Log Tool,显示/隐藏线程信息等,具体大家可以自行实践研究下。
GitHub地址:https://github.com/orhanobut/logger
除了基本用法之外,你还可以结合你们自己的业务做些封装,使你们的调试更方便些。比如为了调试网络方便,我就使用了 Logger 在我们的网络层做了一点封装,大大提升了我们调试网络的效率,调试网络再也不用走代理了,直接在 LogCat 上就可以看到具体的api、header、params、response等信息,上张图你们感受下: