Android Log Persistence Lightweight Framework 安卓日志持久化轻量级框架
- 短小精悍却五脏俱全,无任何依赖,简洁党的福音
- 使用buff延迟写入,time+size两种条件触发
- 按日期+TAG写入文件
- 支持自动清理过期日志
- 支持打印调用方法栈
- 支持自定义日志格式
- 支持写入拦截(自定义写入本地/上传服务器)
- 支持记录崩溃信息
- 非阻塞,线程安全,SimpleDateFormat优化
QLog.init(getApplication()); //初始化,默认路径-> /Android/data/包名/files/QLog
QLog.i("info日志"); //写入-> 2020-10-20_QLog.log
QLog.e("login", "error日志"); //写入-> 2020-10-20_login.log
2020-10-20 08:27:00.360 INFO [main] info日志
2020-10-20 08:27:00.360 ERROR [Thread-2] error日志
allprojects {
repositories {
maven {
url "https://jitpack.io"
}
}
}
dependencies {
implementation 'com.github.tohodog:QLog:1.4'
}
也可以直接下载QLog.java单文件使用,够轻量!
QLog.init(QLogConfig.Build(getApplication())
.path(getExternalFilesDir(null) + "/QLog")//日志目录,一般不要动安卓10限制了外部目录访问了
.buffSize(128 * 1024)//buff大小
.delay(10000)//延迟写入时间
.day(30)//日志保留30天,默认无限制
.methodCount(1)//打印调用方法名
.debug(BuildConfig.DEBUG)//true会输出控制台,上线可关掉
.logFormat(new LogFormat() {//自定义日记格式
@Override
public String format(Level level, String time, String log, String stact) {
return level + " " + time + " " + log + " ~" + stact;
}
})
.writeData(new WriteData() {//写入拦截,可自定义写入/上传操作
@Override
public boolean writeData(String folder, String fileName, byte[] bytes) throws Exception {
return false;//false会继续执行写入, true不继续执行
}
})
.build());
QLog.flush();//立即写入缓存
- 有问题请Add issues
- 如果项目对你有帮助的话欢迎