赞
踩
日志是任何项目开发中的必须组件,它可以记录下来系统的行为,帮助开发者排错,优化系统性能调整系统行为等.既然日志可以帮助我们做很多分析,那么开发者肯定是有很多定制需求的,例如不同环境过滤不同等级的log,格式化输出,输出到文件,打包日志上传分析等等.这里就针对Android平台开发一套日志框架.后续将持续完善.
github地址:https://github.com/HiJesse/Android-NativeLogger
##功能清单
状态 | 功能 | 默认 |
---|---|---|
注解配置 | 支持 | |
设置TAG | NLogger | |
设置LEVEL | WARN | |
是否捕获全局异常 | false | |
是否开启文件日志 | true | |
文件日志内容格式 | SimpleFormatter | |
日志文件存放路径 | /sdcard/native.logs/ | |
日志文件过期时间 | 1 day | |
日志文件打包周期 | 1 day | |
格式化输出JSON | 支持 | |
日志混淆 | - |
: 已完成
: 待完成
根项目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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。