有没有这样的想法, 学习中, 测试本身的代码效果, 又怕关键地方出现预料以外的错误, 因此会想在关键地方打印出关键信息. 不少时候经过这种方式可以快速定位bug的缘由, 而又不用打断点费力的调试. 我的认为这种方式是很好的轻量级的debug方式. 其实就是借鉴日志的思想.工具
那么问题来了, 要麻烦的写上
System.out.println("balbabal")
吗.学习笔者这个工具类就是为了解决这个麻烦的.测试
主要优势spa
使用简单debug
可点击跳转(这是最大的优势)调试
主要是借鉴了异常输出时的信息, 利用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 + "\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(); } }