Android 日誌工具

Android 日誌工具

最近項目開發中,遇到一個痛點: 項目模塊較多,不一樣日誌混合在一塊兒;出現線上問題時,全部日誌信息混合在一塊兒,定位困難。 爲解決這個問題,有了這個工具。這個工具備如下做用:java

  • 開發模式 debug 爲 true 時,打印在控制檯,同時打印到文件;
  • 發版模式 debug 爲 fase 時,只打印到文件;
  • 方便日誌上傳 支持日誌壓縮上傳
  • 緩存文件 區分模塊 支持不一樣功能模塊,日誌打印到不一樣文件中;

1、使用舉例

  • 日誌輸出到控制檯

日誌輸出到控制檯

  • 不一樣模塊日誌 分別打印到對應文件

不一樣模塊日誌分別輸出到對應文件

  • 對應文件中的日誌

對應文件中的日誌

  • 壓縮後的日誌文件路徑

Screenshot_20191205_154950_com.huawei.hidisk

2、使用方式

  • 初始化
  • 打日誌
  • 文件壓縮上傳

2.一、初始化

初始化建議放到Application中git

/** * 初始化日誌 */
    private void initLog() {
		// 這裏網絡模塊、UI模塊的Debug模式爲true
        PalUiLog.init(MainApplication.this, true);
        PalNetLog.init(MainApplication.this, true);
    }
複製代碼

2.二、打日誌

// UI模塊日誌:打印到控制檯;同時打印到文件;
PalUiLog.d(TAG, "---onCreate---");
// 網絡模塊日誌:打印到控制檯;同時打印到文件;
PalNetLog.d(TAG, "---onCreate---");
複製代碼

2.三、文件壓縮上傳

// 耗時操做,建議異步任務調用該方法
    private void zipLogFiles() {
		// 壓縮App內部存儲目錄下的日誌文件
        File file = ZipLogFile.zipLogFiles(MainActivity.this);
		// 若壓縮成功,返回對應的文件
        if (file != null) {
            Toast.makeText(MainActivity.this, "日誌文件生成成功:" + file.getAbsolutePath(),
                    Toast.LENGTH_LONG).show();
        }
    }
複製代碼

3、源碼地址

github.com/xiaxveliang…github

相關文章
相關標籤/搜索