Android開源專案推薦之「最好用的Log」
今天在微信公眾號,看到了張神的推文,受益不少,所以把他分享到這裡,若要看原文,可以到該網站:
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等資訊,上張圖你們感受下: