- 文件日志输出、分享到其他应用
- 实时可视化界面
- 日志过滤
- 监测前后台变化自动隐藏悬浮窗
SLog.init(this) //必须主线程初始化
SLog.getInstance().start()
SLog.getInstance().stop()
SLog.v("这是一条日志日志日志")
class SLogTree : Timber.Tree() {
private val slog: SLog = SLog.getInstance()
private val defaultTag = "log"
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
val tag = tag ?: defaultTag
when (priority) {
Log.VERBOSE -> slog.v(tag, message)
Log.INFO -> slog.i(tag, message)
Log.DEBUG -> slog.d(tag, message)
Log.WARN -> slog.w(tag, message)
Log.ERROR -> slog.e(tag, message)
else -> slog.v(tag, message)
}
//slog.log(priority,s,message)
}
}
Timber.plant(SLogTree())
SLog + HttpSLogInterceptor,达到输出网络请求
SLog.getInstance().logFile(VERBOSE, "logFile", "这是一条错误VERBOSE日志")
文件命名:[TAG]MM-dd HH时mm分
按TAG和每分钟进行输出文件,方便查找
所以需要合理使用TAG,进行日志文件输出
//true 开启,false 关闭
SLog.getInstance().autoHide(context, true)
效果图片 | 日志展示 1 | 日志展示 2 | 日志文件管理 | Logo长按菜单 |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
debugImplementation 'com.github.SheTieJun.LogKit:logkit-debug:tag'
releaseImplementation 'com.github.SheTieJun.LogKit:logkit-release:tag'
}
跨应用输出日志 -相关文档
- 需要解决在Android >11上 bindService 失败的问题:应用可见性
-
增加通过悬浮球关闭整个日志功能 : 长按弹窗关闭 -
增加隱藏方法:检测APP是否在前台(如果启动就显示)或者后台(自动隐藏悬浮窗) - 华为手机无法长按的问题
- 请注意增加
${applicationId}.FileProvider
用于分享
<provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.FileProvider"
android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/base_file_path" />
</provider>