Android 日誌工具:專案模組較多時的救星

yilian發表於2020-01-03

在專案開發中,遇到一個痛點:專案模組較多,不同日誌混合在一起;出現線上問題時,所有日誌資訊混合在一起,定位困難。
為解決這個問題,有了這個工具。這個工具有以下作用:

  • 開發模式debug 為 true 時,列印在控制檯,同時列印到檔案;
  • 發版模式debug 為 fase 時,只列印到檔案;
  • 方便日誌上傳 支援日誌壓縮上傳
  • 快取檔案 區分模組 支援不同功能模組,日誌列印到不同檔案中;
第一次看文章的朋友可以關注我,會不定期釋出大廠面試題、Android架構技術知識點及解析等內容,還有學習PDF+原始碼筆記+面試文件+進階影片分享

平時的學習內容放在了我的GitHub:
以下內容學習vx:xx13414521

Android 日誌工具:專案模組較多時的救星

一、使用舉例

日誌輸出到控制檯
Android 日誌工具:專案模組較多時的救星
不同模組日誌 分別列印到對應檔案
Android 日誌工具:專案模組較多時的救星
對應檔案中的日誌
Android 日誌工具:專案模組較多時的救星
壓縮後的日誌檔案路徑
Android 日誌工具:專案模組較多時的救星

二、使用方式

  • 初始化
  • 打日誌
  • 檔案壓縮上傳
2.1、初始化

初始化建議放到Application中

/**
 * 初始化日誌
 */private void initLog() {    // 這裡網路模組、UI模組的Debug模式為true
    PalUiLog.init(MainApplication.this, true);
    PalNetLog.init(MainApplication.this, true);
}
2.2、打日誌
 // UI模組日誌:列印到控制檯;同時列印到檔案;PalUiLog.d(TAG, "---onCreate---");// 網路模組日誌:列印到控制檯;同時列印到檔案;PalNetLog.d(TAG, "---onCreate---");
2.3、檔案壓縮上傳
// 耗時操作,建議非同步任務呼叫該方法private void zipLogFiles() {    // 壓縮App內部儲存目錄下的日誌檔案
    File file = ZipLogFile.zipLogFiles(MainActivity.this);    // 若壓縮成功,返回對應的檔案
    if (file != null) {
        Toast.makeText(MainActivity.this, "日誌檔案生成成功:" + file.getAbsolutePath(),
                Toast.LENGTH_LONG).show();
    }
}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952849/viewspace-2671883/,如需轉載,請註明出處,否則將追究法律責任。

相關文章