实现思路
打印类(JavaLogUtil)设置是否打印标记。
创建一个打印的java模块(libjavalog),包含印工具类(JavaLogUtil),需要打印的java模块引用libjavalog模块,,app模块也引入libjavalog, 在Application设置
JavaLogUtil.debug = BuildConfig.DEBUG
依赖模块的方法
app模块和java模块添加的方法一样,build.gradle文件dependencies中添加依赖,举例java模块
plugins {
id 'java-library'
id 'kotlin'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
dependencies {
implementation project(path: ':libjavalog')
}
JavaLogUtil源码
注意:为了防止字符拼接或字符拼接中调用了更耗时的操作,kotlin使用了内联函数, 参考 这可能是最好的 Android/Kotlin日志输出方法
object JavaLogUtil {
var debug = false
fun logd(tag: String, vararg message: Any?) {
if (debug) {
val res = "$tag ${message.joinToString()}"
println(res)
}
}
fun loge(tag: String, vararg message: Any?) {
if (debug) {
val res = "$tag ${message.joinToString()}"
System.err.println(res)
}
}
inline fun logd(tag: String, lazyMessage: () -> Any?) {
if (debug) {
val res = "$tag ${lazyMessage().toString()}"
println(res)
}
}
inline fun loge(tag: String, lazyMessage: () -> Any?) {
if (debug) {
val res = "$tag ${lazyMessage().toString()}"
System.err.println(res)
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)