Skip to content

Repository files navigation

Slog

  • 文件日志输出、分享到其他应用
  • 实时可视化界面
  • 日志过滤
  • 监测前后台变化自动隐藏悬浮窗

初始化

SLog.init(this) //必须主线程初始化

开启和关闭

SLog.getInstance().start()
SLog.getInstance().stop()

添加日志

方式一

SLog.v("这是一条日志日志日志")

方式二(推荐)

输出日志 SLog + Timber

classSLogTree : Timber.Tree() {
privateval slog:SLog=SLog.getInstance()
privateval defaultTag ="log"overridefunlog(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 + 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 失败的问题:应用可见性

ToDo

  • 增加通过悬浮球关闭整个日志功能 : 长按弹窗关闭
  • 增加隱藏方法:检测APP是否在前台(如果启动就显示)或者后台(自动隐藏悬浮窗)
  • 华为手机无法长按的问题

其他

  1. 请注意增加${applicationId}.FileProvider 用于分享
<providerandroid:name="androidx.core.content.FileProvider"android:authorities="${applicationId}.FileProvider"android:exported="false"android:grantUriPermissions="true">
<meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/base_file_path" />
</provider>

About

日志可视化

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages