android系统日志,android系统日志清理

首页 > 实用技巧 > 作者:YD1662023-06-02 14:12:05

我们在做开发编码时,难免会打印一些日志来分析,通常用Android的Log打印日志时,只有基本的日志信息,效果如下图

android系统日志,android系统日志清理(1)

日志包含以下基本信息

从以上信息可以发现日志信息还是挺全面的,包含的信息也很多,对我们的开发,分析,找问题都是十分的有帮助。尽管信息很全面,但有一个致命的缺陷,就是日志没有定位功能,不知道这条日志是哪个地方打印的,也不支持跳转,当日志信息很多的时候,这对于我们查找是极不方便的。我们可以针对日志定位功能,写一个工具类,代码如下

private const val stackTraceLength = 4 fun String?.log(type: Int = Log.DEBUG, tag: String = "aloe") { if (!BuildConfig.DEBUG || this == null) return val element = Thread.currentThread().stackTrace[stackTraceLength] val txt = "${element.methodName}(${element.fileName}:${element.lineNumber}) $this" when (type) { Log.DEBUG -> Log.d(tag, txt) Log.INFO -> Log.i(tag, txt) Log.WARN -> Log.w(tag, txt) Log.ERROR -> Log.e(tag, txt) else -> {} } }

一个方法轻松搞定,stackTraceLength是定义调用栈的深度,不同的封装,这个值可能不一定,大家根据自己的风格来确定。

最终效果如下

android系统日志,android系统日志清理(2)

一个支持点击跳转的日志功能就完成了,是不是非常简单,再也不用依赖第三方框架了,自己动手,丰衣足食。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.