Android 日志管理框架 NativeLogger

来源:互联网 发布:淘宝购物的步骤 编辑:程序博客网 时间:2024/06/10 18:57

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

功能清单

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

: 已完成
: 待完成

Gradle引入

根项目build.gradle中引入mavenCentral.

allprojects {    repositories {        ...        mavenCentral()    }}

Modulebuild.gradle中引入NLogger.

dependencies {    compile 'com.github.hijesse:android-logger:2.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后得到日志文件


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

1 0
原创粉丝点击