【问题标题】:One code - logging for both platforms - android / windows一个代码 - 两个平台的日志记录 - android / windows
【发布时间】:2021-05-24 12:42:42
【问题描述】:
有没有一种简单的方法可以使用相同的代码基础:
- 使用
android.util.Log 登录到android(登录到Logcat)
并为另一个编译但使用相同的代码(以某种通用方法)
- 登录另一个适用于 Windows 平台的 Log-Framework?
类似:
genericlog.i("myinfo") --> 在 android 上翻译成:Log.i("myinfo") //for logcat
and for win 编译
genericlog.i("myinfo") --> 在窗口上转换为:whatever-log-framework.info("myinfo") 已配置 :-)
【问题讨论】:
标签:
java
android
generics
logging
【解决方案1】:
我认为使用SLF4J 将是一个很好的解决方案。 SLF4J 在普通 JVM 和 Android 上都可用。
如果你想将 SLF4J 与 Logback 一起使用,你会发现here 可以动手。
【解决方案2】:
好的,我的解决方案是使用https://github.com/MicroUtils/kotlin-logging。
android 的依赖项
implementation 'io.github.microutils:kotlin-logging:2.0.4'
implementation 'org.slf4j:slf4j-android:1.7.21'
windows 的依赖项
implementation("io.github.microutils:kotlin-logging-jvm:2.0.2")
implementation("org.slf4j:slf4j-api:1.7.30")
有了这个,我可以在“通用”代码中使用相同的日志结构。
private val log = KotlinLogging.logger {}
log.info{"log it :-)"}