记录(imho)的最佳方法是使用Timber:
https //github.com/JakeWharton/timber
但是,如果您不想使用库,那么
TAG可以定义为内联扩展属性(例如Extensions.kt
):
inline val <reified T> T.TAG: String
get() = T::class.java.simpleName
还有一些扩展,可以一直不写TAG Log.d(TAG, "")
:
inline fun <reified T> T.logv(message: String) = Log.v(TAG, message)
inline fun <reified T> T.logi(message: String) = Log.i(TAG, message)
inline fun <reified T> T.logw(message: String) = Log.w(TAG, message)
inline fun <reified T> T.logd(message: String) = Log.d(TAG, message)
inline fun <reified T> T.loge(message: String) = Log.e(TAG, message)
然后,您可以在任何类中使用它们:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
logd("Activity created")
}
simpleName
存在风险。