package net.lacolaco.smileessence import android.util.Log object Logger { fun debug(message: Any) { Log.d(tag, message.toString()) } fun info(message: Any) { Log.i(tag, message.toString()) } fun error(message: Any) { Log.e(tag, message.toString()) } fun warn(message: Any) { Log.w(tag, message.toString()) } fun verbose(message: Any) { Log.v(tag, message.toString()) } private val tag: String get() { val st = Thread.currentThread().stackTrace val baseIndex = st.indexOfFirst { it.methodName == "getTag" } assert(baseIndex != -1) assert(st.size >= baseIndex + 3) val basePackage = Logger.javaClass.name.removeSuffix(".Logger") return "SE (${st[baseIndex + 2].className.removePrefix(basePackage)}::${st[baseIndex + 2].methodName})" } }