Android开发 帮我用kotlin 写一个漂亮的类似表格的 log 方法耗时 打点
时间: 2024-04-21 07:23:18 浏览: 137
Kotlin从零到精通Android开发_kotlin_android开发_android_
5星 · 资源好评率100%
当然,我可以帮你编写一个漂亮的类似表格的日志打点方法,用于记录方法耗时。以下是一个示例的 Kotlin 代码:
```kotlin
import java.util.concurrent.TimeUnit
// 表格打印方法耗时
fun logMethodExecutionTime(tag: String, methodName: String, executionTime: Long) {
val threadName = Thread.currentThread().name
val formattedTime = String.format("%02d:%02d:%02d.%03d",
TimeUnit.MILLISECONDS.toHours(executionTime),
TimeUnit.MILLISECONDS.toMinutes(executionTime) % 60,
TimeUnit.MILLISECONDS.toSeconds(executionTime) % 60,
executionTime % 1000)
val headerFormat = "| %-10s | %-20s | %-12s |"
val rowFormat = "| %-10s | %-20s | %-12s |"
val separator = "+------------+----------------------+--------------+"
val header = String.format(headerFormat, "Thread", "Method", "Execution Time")
val row = String.format(rowFormat, threadName, methodName, formattedTime)
println(separator)
println(header)
println(separator)
println(row)
println(separator)
}
// 使用示例
fun main() {
// 模拟方法耗时
val startTime = System.currentTimeMillis()
Thread.sleep(2000)
val endTime = System.currentTimeMillis()
val executionTime = endTime - startTime
// 打印方法耗时
logMethodExecutionTime("TAG", "methodName", executionTime)
}
```
这段代码会在控制台上打印出一个类似表格的日志,包含线程名、方法名和方法耗时。你可以将 `logMethodExecutionTime` 方法添加到你的 Android 项目中,在需要记录方法耗时的地方调用该方法即可。
请注意,以上代码只是一个示例,并且没有包含完整的异常处理和线程安全性。在实际使用中,你可能需要根据你的需求进行适当的调整和扩展。
阅读全文