安卓Log框架推薦

一般情況下,平時我們對於log的輸出並沒有太多的需求,只需要能夠給輸出,在logcat上能看,能夠方便的開關debug就夠了。想炫酷一些可以打開AndroidStudioSettings然後搜索Logcat可以爲不同級別的log輸出設置不同的顏色。但是也會有一些不同的需求和擴展,所以就整理了一些大神們的一些開源的Log框架。

0. logger

簡單,漂亮,功能強大Android log框架。

接入和初始化相當簡單

 

//添加依賴
implementation 'com.orhanobut:logger:2.2.0'

//代碼中初始化
Logger.addLogAdapter(new AndroidLogAdapter());

使用也是非常簡單,使用Logger代替原生的Log即可

 

Logger.d("hello");

支持格式化輸出,可以直接輸出MapSetListArray以及jsonxml

 

Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY);

Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);

輸出是這樣子的

如果要禁用/隱藏輸出日誌,重寫AndroidLogAdapterisLoggable方法。 true將打印日誌消息,false將忽略log輸出。

 

Logger.addLogAdapter(new AndroidLogAdapter() {
  @Override public boolean isLoggable(int priority, String tag) {
    return BuildConfig.DEBUG;
  }
});

更多使用方式參考github

1. timber

JakeWharton大神出品,一個基於原生Log類的小型可擴展的log框架。

還有使用註解形式的調試版本log框架Hugo

2. xLog

簡單、美觀、強大、可擴展的 Android 和 Java 日誌庫,可同時在多個通道打印日誌,如 Logcat、Console 和文件。如果你願意,甚至可以打印到遠程服務器(或其他任何地方)。

同支持多種數據格式直接輸出以及線程和調用棧信息。簡單的使用XLog.d("Simple message")輸出即可。

文檔相當完善,還提供了原生LogxLog遷移的方式。

帶線程信息、調用棧信息和邊框的日誌

格式化後的網絡 API 請求

格式化後的網絡 API 響應

日誌文件

3. LogUtils

更方便易用的android log,支持直接打印數據集合,如List、Set、Map、數組,還支持android系統對象Intent、Bundle打印
支持高性能日誌寫入文件(基於mmap)。效果圖如下:

日誌說明

個性化設置Tag

打印數據列表

打印系統對象Intent

4. Log4a

Log4a 是一個基於 mmap, 高性能、高可用的 Android 日誌收集框架。

Log4a 使用 mmap 文件映射內存作爲緩存,可以在不犧牲性能的前提下最大化的保證日誌的完整性。 日誌首先會寫入到 mmap 文件映射內存中,基於 mmap 的特性,即使用戶強殺了進程,日誌文件也不會丟失,並且會在下次初始化 Log4a 的時候回寫到日誌文件中。

demo中還提供了性能測試的相關數據。



作者:MrTrying
鏈接:https://www.jianshu.com/p/64b63e51fd4c
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

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