一般情況下,平時我們對於log的輸出並沒有太多的需求,只需要能夠給輸出,在logcat
上能看,能夠方便的開關debug
就夠了。想炫酷一些可以打開AndroidStudio
的Settings
然後搜索Logcat
可以爲不同級別的log
輸出設置不同的顏色。但是也會有一些不同的需求和擴展,所以就整理了一些大神們的一些開源的Log框架。
0. logger
簡單,漂亮,功能強大Android log框架。
接入和初始化相當簡單
//添加依賴
implementation 'com.orhanobut:logger:2.2.0'
//代碼中初始化
Logger.addLogAdapter(new AndroidLogAdapter());
使用也是非常簡單,使用Logger
代替原生的Log
即可
Logger.d("hello");
支持格式化輸出,可以直接輸出Map
、Set
、List
、Array
以及json
和xml
Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY);
Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);
輸出是這樣子的
如果要禁用/隱藏輸出日誌,重寫AndroidLogAdapter
的isLoggable
方法。 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")
輸出即可。
文檔相當完善,還提供了原生Log
向xLog
遷移的方式。
帶線程信息、調用棧信息和邊框的日誌
格式化後的網絡 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
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。