资讯专栏INFORMATION COLUMN

Java调试用的小工具类--打印方法名(可点击跳转)

Flink_China / 1756人阅读

摘要:有没有这样的想法学习中测试自己的代码效果又怕关键地方出现预料之外的错误所以会想在关键地方打印出关键信息很多时候通过这种方式能够快速定位的原因而又不用打断点费力的调试个人认为这种方式是很好的轻量级的方式其实就是借鉴日志的思想那么问题来了要麻烦

有没有这样的想法, 学习中, 测试自己的代码效果, 又怕关键地方出现预料之外的错误, 所以会想在关键地方打印出关键信息. 很多时候通过这种方式能够快速定位bug的原因, 而又不用打断点费力的调试. 个人认为这种方式是很好的轻量级的debug方式. 其实就是借鉴日志的思想.

那么问题来了, 要麻烦的写上System.out.println("balbabal")吗.

笔者这个工具类就是为了解决这个麻烦的.

主要优点

使用简单

可点击跳转(这是最大的优点)

主要是借鉴了异常输出时的信息, 利用throwable接口实现我要的功能.

效果图

源码
package com.__note__.utils;

import org.junit.Test;

public class Log {
    

    
    // 直接调用trace(Object o)则为1, 二次调用则为2
    private static int steNum = 1;
    
    public static void trace(Object o) {
        Throwable throwable = new Throwable();      // 0
        StackTraceElement ste;
        ste = throwable.getStackTrace()[steNum];
        // 每次调用应该讲steNum归为1
        steNum = 1;
        System.out.println(o + "		...at	" + ste);
        
    }
    
    public static void trace() {
        steNum = 2;     // 2次调用
        trace("");
    }
    
    
    public static void begin() {
        steNum = 2;
        trace("BEGIN: ");
    }
    
    public static void end() {
        steNum = 2;
        trace("END: ");
    }
    
    
    @Test
    public void fun() {
        Log.trace();
        Log.trace("方法开始");
        Log.trace(new Object());
        Log.trace(998);
        
        // 可在方法调用开始时标记
        Log.begin();
        
        // 可在方法调用结束时标记
        Log.end();
        
    }
    
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70637.html

相关文章

  • 开发利器之IntelliJ IDEA学习笔记

    摘要:旨在记录自己的学习过程,方便日后遇到问题是及时查阅复习,另一方面也希望能帮助像笔者一样从来没使用过的人快速熟悉。 这篇文章主要记录的是本人学习使用IntelliJ IDEA的笔记,可能不是特别的详细。旨在记录自己的学习过程,方便日后遇到问题是及时查阅复习,另一方面也希望能帮助像笔者一样从来没使用过IDEA的人快速熟悉IDEA。文章错误之处还请各位大佬批评指正。(文末有本人的微信公众号,...

    马永翠 评论0 收藏0
  • LogBack与Log4j配置与日志分模块

    摘要:如果日志级别等于配置级别,过滤器会根据和接收或拒绝日志。例如过滤掉所有低于级别的日志。有个子标签,用于配置求值条件。 没时间解释了,快上车,老司机先看代码 LogBack.xml DEBUG ${MESSAGE_FILE_PATTERN} ...

    kycool 评论0 收藏0
  • 记录微信小程序的坑

    摘要:除官方外的参考文章微信小程序实例创建下发模板消息实例手把手教你开发微信小程序之模版消息开发教你突破小程序模板消息的推送限制获取用户信息接口的废弃问题接口是获取用户信息昵称,头像等的接口,在官方文档上写是即将废弃。 ----------------更新-------------- 2018年10月10日官网3个接口废弃的通知: 1、分享监听接口分享消息给好友时,开发者将无法从callba...

    EastWoodYang 评论0 收藏0
  • 前端答疑-chrome开发者工具正确食用-调试代码

    摘要:之前写过前端答疑开发者工具正确食用看网页源码,其中涉及到了和两个标签。工具栏提供了,路径过滤支持正则,类型过滤,拿响应其实很简单啊,找到页面的请求,然后看里面不就是吗看这个其实也是昨天碰到的,有个朋友说他下载文件失败。 之前写过前端答疑-chrome开发者工具正确食用-看网页源码,其中涉及到了 Sources 和 Network 两个标签。 不曾想现在的世界越来越看不懂了昨天吧,一个...

    zhangxiangliang 评论0 收藏0
  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

    摘要:比如的的个性化设置是这样的,字体必须用程序猿专用的等宽开源字体,这样显得比较专业。我觉得网上流传的程序猿和工具的鄙视链很无聊,与其有时间去鄙视别人,不如把这时间用来深入研究自己每天用的,进一步提高自己单位时间内的工作效率。 Jerry和SAP成都研究院一些新同事聊天时,谈到ABAP和SAP GUI这个话题。很多新同事在加入SAP成都之前,是做Java和C++开发的,习惯了Eclipse...

    jkyin 评论0 收藏0

发表评论

0条评论

Flink_China

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<