java怎么打印堆棧日志

小億
121
2023-10-22 08:40:52

在Java中,可以使用Thread.currentThread().getStackTrace()方法來(lái)獲取當(dāng)前線程的堆棧信息,并將其打印出來(lái)。下面是一個(gè)示例代碼:

public class StackTraceExample {
    public static void main(String[] args) {
        try {
            // 調(diào)用一個(gè)方法
            method1();
        } catch (Exception e) {
            // 打印堆棧信息
            e.printStackTrace();
        }
    }

    public static void method1() {
        method2();
    }

    public static void method2() {
        // 獲取當(dāng)前線程的堆棧信息
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();

        // 打印堆棧信息
        for (StackTraceElement element : stackTrace) {
            System.out.println(element);
        }
    }
}

運(yùn)行以上代碼,將會(huì)打印出當(dāng)前線程的堆棧信息,包括調(diào)用方法的類名、方法名、文件名和行號(hào)等信息。

0