当前位置:   article > 正文

Android 日志管理框架 NativeLogger_androif 日志框架

androif 日志框架

日志是任何项目开发中的必须组件,它可以记录下来系统的行为,帮助开发者排错,优化系统性能调整系统行为等.既然日志可以帮助我们做很多分析,那么开发者肯定是有很多定制需求的,例如不同环境过滤不同等级的log,格式化输出,输出到文件,打包日志上传分析等等.这里就针对Android平台开发一套日志框架.后续将持续完善.
github地址:https://github.com/HiJesse/Android-NativeLogger

##功能清单

状态功能默认
注解配置支持
设置TAGNLogger
设置LEVELWARN
是否捕获全局异常false
是否开启文件日志true
文件日志内容格式SimpleFormatter
日志文件存放路径/sdcard/native.logs/
日志文件过期时间1 day
日志文件打包周期1 day
格式化输出JSON支持
日志混淆-

: 已完成
: 待完成

Gradle引入

根项目build.gradle中引入mavenCentral.

allprojects {
    repositories {
        ...
        mavenCentral()
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Modulebuild.gradle中引入NLogger.

dependencies {
    compile 'com.github.hijesse:android-logger:2.0.0'
}
  • 1
  • 2
  • 3

##如何使用

简单用法-只使用基础的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);
  • 1
  • 2
  • 3
  • 4
  • 5

日志输出
相当于直接使用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);
            }
        });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

日志输出
配置功能清单中所有属性,并且使用到了压缩日志文件的方法

日志文件路径

解压2016-09-10.zip后得到日志文件


转载请注明出处:http://blog.csdn.net/l2show/article/details/52504653

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/609811
推荐阅读
相关标签
  

闽ICP备14008679号