Java調試用的小工具類--打印方法名(可點擊跳轉)

  • 有沒有這樣的想法, 學習中, 測試本身的代碼效果, 又怕關鍵地方出現預料以外的錯誤, 因此會想在關鍵地方打印出關鍵信息. 不少時候經過這種方式可以快速定位bug的緣由, 而又不用打斷點費力的調試. 我的認爲這種方式是很好的輕量級的debug方式. 其實就是借鑑日誌的思想.工具

  • 那麼問題來了, 要麻煩的寫上System.out.println("balbabal")嗎.學習

  • 筆者這個工具類就是爲了解決這個麻煩的.測試

主要優勢spa

  • 使用簡單debug

  • 可點擊跳轉(這是最大的優勢)調試

主要是借鑑了異常輸出時的信息, 利用throwable接口實現我要的功能.日誌

效果圖

clipboard.png

源碼

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 + "\t\t...at\t" + 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();
        
    }
    
}
相關文章
相關標籤/搜索