NativeLogger是Android平台一套日志管理框架.NativeLogger可以帮助开发者统一管理不同Level的log, 将其输出到Console或者文件(/天)中.后续将继续完善.
状态 | 功能 | 默认 |
---|---|---|
注解配置 | 支持 | |
设置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'
}
- 注解配置
@Logger(tag = "Test", level = Logger.INFO)
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
NLogger.init(this);
}
}
- 动态配置
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.e("uncaughtException", throwable);
NLogger.json(LoggerLevel.INFO, "{...}");
//zip log files
NLogger.zipLogs(new IFileLogger.OnZipListener() {
@Override
public void onZip(boolean succeed, String target) {
if (succeed)
NLogger.i("zip", "succeed : " + target);
}
});