1. 程式人生 > >Android開源專案推薦之「最好用的Log」

Android開源專案推薦之「最好用的Log」

1  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 工具,也是我們團隊在用的。

2  Logger            

用 GitHub 的原話介紹就是:「Simple, pretty and powerful logger for android」。

廢話不多說,我們直接看下它的示例截圖:



是不是很酷炫?那麼下面稍微說下他的具體用法。

3  依賴            



4   基本用法            

使用起來很簡單,以下是最基本的用法:


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

5  更多            

除了基本用法之外,你還可以結合你們自己的業務做些封裝,使你們的除錯更方便些。比如為了除錯網路方便,我就使用了 Logger 在我們的網路層做了一點封裝,大大提升了我們除錯網路的效率,除錯網路再也不用走代理了,直接在 LogCat 上就可以看到具體的api、header、params、response等資訊,上張圖你們感受下: