LogUtils

object LogUtils {

fun log(message: String?) {

log(null, message)

}

fun log(tag: String? =null, message: String?) {

var content = message

if (message.isNullOrEmpty()) {

content ="NULL  "

        }

val trace = Throwable().fillInStackTrace().stackTrace

        var caller: String? =""

        var callingClass =""

        var callFile: String? =""

        var lineNumber =0

        for (iin 2 until trace.size) {

val clazz: Class<*> = trace[i].javaClass

            if (clazz != LogUtils::class.java) {

callingClass = trace[i].className

                callingClass = callingClass.substring(

callingClass

.lastIndexOf('.') +1

                )

caller = trace[i].methodName

                callFile = trace[i].fileName

                lineNumber = trace[i].lineNumber

                break

            }

}

//        val method = java.lang.String.format(

//            Locale.US,

//            "[%03d] %s.%s(%s:%d)",

//            Thread.currentThread().id,

//            callingClass,

//            caller,

//            callFile,

//            lineNumber

//        )

        val method ="($callFile,$lineNumber)"

        Log.d(tag ?: callFile, content + method)

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容