Android 如何更優雅的打Log

如何更優雅的打Log


新的篇章

之前做了一個 Android-ui-2019(這個同步更新)
但是有朋友反饋說,開源庫內容不錯,但是有點太多了,不便於查找,希望我做個開源庫整理,聽到這個需求,我面對1800+的開源庫,竟然有點不好下手,想來想去,我決定將這個開源庫進行整理,重新配圖並持續更新,希望大家多多關注我。比心~

精彩回顧

Viewpager開源庫整理
時間選擇器開源庫整理
Menu開源庫整理
動態權限庫

日常開發中打log日誌是我們必不可少的,那麼怎麼寫能讓你的Log更美觀更好看更顯眼呢,今天分享一下我封裝Log的方式

方式一

Log.i("lovesosoi","Logi");
Log.d("lovesosoi","Logd");
Log.v("lovesosoi","Logv");
Log.e("lovesosoi","Loge");

方式二

public static String TAG="Lovesosoi";
Log.i(TAG,"Logi");
Log.d(TAG,"Logd");
Log.v(TAG,"Logv");
Log.e(TAG,"Loge");

方式三

將Log進行簡單的封裝,其實就是做一個開關,也沒有加太多的功能

public class LogUtils {
    private static boolean isDebug = true;
    private static String TAG = "tag";

    public boolean isDebug() {
        return isDebug;
    }

    public static void setDebug(boolean debug) {
        isDebug = debug;
    }
    public static void setTag(String debug) {
        TAG = debug;
    }

    public static void e(String msg) {
        if (isDebug) {
            Log.e(TAG,msg);
        }
    }
    public static void e(String tag,String msg) {
        if (isDebug) {
            Log.e(tag,msg);
        }
    }
}
class Test{
    public static void main(){
        LogUtils.setDebug(true);
        LogUtils.setTag("Lovesosoi");
        LogUtils.e("heheh");
    }
}

爲了追求更加便捷,好看實用的Log,我在github 上進行了搜索查找,找到了以下的Log開源庫。

電腦端顯示Log

名字 介紹 star 圖片
logger 簡介好看使用的log庫 11540星
xLog 簡單、美觀、強大、可擴展的 Android 和 Java 日誌庫 1859星
KLog Android LogCat 工具類,支持行號、所在函數、點擊自動跳轉、Json格式自定解析打印等功能。 1725星
FLogger 基於雙緩衝隊列、多刷盤機制的超輕量級 java 日誌 499星
jlog jlog是一款針對Android開發者的日誌工具 478星
Android-PLog A Pure, Pretty and Powerful logging library for android 165星
LogCollector 一個收集 app 輸出日誌的工具 159星

手機端顯示Log

名字 介紹 star 圖片
Lynx 可在手機上查看 logcat 682星
LogcatViewer 可在手機上查看 logcat 226星
Console 可在手機上查看 logcat 92星
DebugOverlay-Android App 端,查看 Logcat 信息 80星

看了大神寫的庫,我心裏就有一個疑問,我和大神的區別在哪裏,我總結一下主要是兩點,一是樣式,大神的樣式更好看,二是功能更全,我們去看一下star 最高的代碼

解析Logger

爲什麼Logger能顯示Log的代碼行數,他是怎麼做到的呢

調用這個方法就能獲取到當前方法所在方法棧信息,我們再來看看StackTraceElement這個類

我們做一個小測試~

這樣類名,方法名,行數就都獲取到了。

第二個問題來了,怎麼做到這麼整潔的呢
源碼是這麼做的,拼出來的!

其他的就是格式問題了,自己動手封裝一個屬於自己的Log庫試試吧~~

總結

所有開源庫都是在 Android-ui-2019基礎上修改的,歡迎大家star,我會把我遇到所有好的開源庫分享出來,大家一起學習,也歡迎大家訂閱我的個人微信公衆號MAndroid,有問題可以問我哦,我會盡我所能給大家解答的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章