V3.1.2:
1.日志存储地址对外设置开放
V3.0.0:
1.初始化参数配置优化
2.本地日志存储本地优化
V1.0.0:
1.能够打印堆栈信息
2.支持任何数据类型的打印
3.能够实现日志可视化
4.能够实现文件打印模块
5.支持不同打印器的插拔
implementation 'com.github.cl-6666:xlog:v3.1.2'
jdk11依赖方式
需要在settings.gradle设置
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven { url 'https://jitpack.io' }
}
}
参数方法 | 参数介绍 |
---|---|
setGlobalTag | 全局的tag |
setWhetherThread | 是否包含线程信息 |
setWhetherToPrint | 日志是否打开 |
setStoreLog | 是否存储日志到本地 |
setStackDeep | 堆栈的深度 |
setInjectSequence | 外界注入对象的序列化 |
在Application里面初始化
//初始化日志框架
XLogConfig logConfig = new XLogConfig.Builder()
//全局TAG
.setGlobalTag("TAG")
//是否包含线程信息
.setWhetherThread(true)
//Xlog是否可用
.setWhetherToPrint(true)
//是否存储日志到本地 log文件的有效时长,单位毫秒,<=0表示一直有效
.setStoreLog(true,0)
//堆栈的深度
.setStackDeep(5)
.setInjectSequence(new XLogConfig.JsonParser() {
@Override
public String toJson(Object src) {
String json = new Gson().toJson(src);
return json;
}
}).build();
XLogManager.getInstance().init(logConfig, new XConsolePrinter());
class MainActivity : AppCompatActivity() {
var viewPrinter: XViewPrinter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
viewPrinter = XViewPrinter(this)
findViewById<View>(R.id.btn_log).setOnClickListener {
printLog()
}
viewPrinter!!.viewProvider.showFloatingView()
}
private fun printLog() {
XLogManager.getInstance().addPrinter(viewPrinter)
XLog.log(object : XLogConfig() {
override fun includeThread(): Boolean {
return false
}
}, XLogType.E, "---", "5566")
XLog.a("9900")
}
}
假如想把日志文件上传到服务器,可以直接传入路径即可,框架没有做上传相关逻辑
XLog.i("当前保存log的日志路径:" + XFilePrinter.getInstance().logPath)