高逼格Log日志,可以导航跳转的log

不管是Android开发还是java开发,Log日志一直是很重要的辅助调试工具,日志只能用来看吗?当然不是,还能用来导航跳转。

友情提示:本文只提供提高逼格方法方式,基础知识请自行学习。不要问我原理,工具就是那么设计的敲打

简书上IT平头哥是我大笑,没有抄袭。


不知道大家会不会利用java提供的StackTraceElement,利用这个可以打印堆栈信息,不知道请自行查阅相关文档。可以获取类名方法名和行号等等。
Android 的logcat日志打印error时是可以点击跳转的,为什么呢?因为用小括号包起来了,里面还有行号,用分号隔开(全是英文符号)
废话不多说,上栗子:


是不是和error日志有共同点了,就是(MainActivity.java:23)有下划线,是可以点击跳转的,如何做到?文本拼接大笑(废话)。

看源码拼接,当然了我只是举个栗子,大家信息拼接复杂请用Stringbuilder。

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        logd(TAG, "onCreate: ");
    }

    public static void logd(String tag, String msg) {
        StackTraceElement[] traceElements = Thread.currentThread().getStackTrace();
        StackTraceElement element = traceElements[3];
        Log.d(tag, "(" + element.getFileName() + ":" + element.getLineNumber() + "):>>> " + msg);
    }

好了,哪里调用这个方法就会打印对应位置的信息,至于为什么是获取堆栈信息中的第四个对象(数组中的3),因为第四个是我想知道的对应调用位置,大家debug看看数组结构(小白请认真学习),有一个方法调用层级关系。方法调用层级越多获取的对应位置越深,请大家自行学习相关知识。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值