Android | Kotlin 自定义一个舒服的Log对象
2023-06-23 14:04:37
哔哩哔哩
(相关资料图)
Android开发中,调试是必不可少的环节,android.util中给我们提供了一个Log日志打印,但是需要提供一个tag和一个msg字符串参数,使用起来往往非常麻烦,摸索了一番,我找到了一个比较舒服的自定义方式,实现了多参数打印以及调用位置的追踪。
此方法是我今天做出来的,我不知道会不会有什么未知的问题,就结果来看这个方式是有用的。
我自定义了一个object对象Console,并在其中定义了log、info、warn、err四个方法,分别对应Log.d、Log.i、Log.w、Log.e。此外,我还定义了一个私有方法generateLog用于拼接可变参数,生成最终的打印消息(这里的拼接可以根据需要自行修改)。除此之外,因为在后续代码量增大时可能会需要追踪Log的位置,通过Thread.currentThread().stackTrace的第三个元素(我是一个个遍历最终才找到的第三个)来获取到调用当前方法位置(类名以及方法名)。具体代码及演示如下:
在MainActivity.kt中调用(写了一个Log.w做对比):
运行结果(这里我把包名手动隐藏了):