Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 日志管理框架 NativeLogger

Android 日志管理框架 NativeLogger

編輯:關於Android編程

日志是任何項目開發中的必須組件,它可以記錄下來系統的行為,幫助開發者排錯,優化系統性能調整系統行為等.既然日志可以幫助我們做很多分析,那麼開發者肯定是有很多定制需求的,例如不同環境過濾不同等級的log,格式化輸出,輸出到文件,打包日志上傳分析等等.這裡就針對Android平台開發一套日志框架.後續將持續完善.
github地址:https://github.com/HiJesse/Android-NativeLogger

功能清單

狀態 功能 默認 \ 設置TAG NLogger \ 設置LEVEL WARN \ 是否捕獲全局異常 false \ 是否開啟文件日志 true \ 文件日志內容格式 SimpleFormatter \ 日志文件存放路徑 /sdcard/native.logs/ \ 日志文件過期時間 1 day \ 日志文件打包周期 1 day \ 適配Android 6.0 - \ 格式化輸出JSON - \ 格式化輸出XML - \ 日志混淆 -

\ : 已完成
: 待完成

如何引入

Gradle

repositories {
    jcenter()
    maven { url "https://raw.githubusercontent.com/HiJesse/mvn/master/repository/" }
}
dependencies {
    compile "cn.jesse.android:nativelogger:1.0.0"
}

如何使用

簡單用法-只使用基礎的Console log

NLogger.d("debug");
NLogger.i("MainActivity", "type1");
NLogger.w("MainActivity", "%s", "type2");
NLogger.d("MainActivity", "%s%d%s", "type", 3, "finish");
NLogger.e("uncaughtException", throwable);

日志輸出
相當於直接使用Android SDK中的Log


進階用法

注意壓縮日志文件的onZip回調為子進程

        NLogger.getInstance()
                .builder()
                .tag("APP")
                .loggerLevel(LoggerLevel.DEBUG)
                .fileLogger(true)
                .fileDirectory(getApplicationContext().getFilesDir().getPath() + "/logs")
                .fileFormatter(new SimpleFormatter())
                .expiredPeriod(3)
                .catchException(true, new CrashWatcher.UncaughtExceptionListener() {
                    @Override
                    public void uncaughtException(Thread thread, Throwable ex) {
                        NLogger.e("uncaughtException", ex);
                        android.os.Process.killProcess(android.os.Process.myPid());
                    }
                })
                .build();

        NLogger.d("debug");
        NLogger.i("MainActivity", "type1");
        NLogger.w("MainActivity", "%s", "type2");
        NLogger.d("MainActivity", "%s%d%s", "type", 3, " finish");

        NLogger.zipLogs(new IFileLogger.OnZipListener() {
            @Override
            public void onZip(boolean succeed, String target) {
                if (succeed)
                    NLogger.i("zip", "succeed : " + target);
            }
        });

日志輸出
配置功能清單中所有屬性,並且使用到了壓縮日志文件的方法

日志文件路徑

解壓2016-09-10.zip後得到日志文件

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved