有没有这样的想法, 学习中, 测试自己的代码效果, 又怕关键地方出现预料之外的错误, 所以会想在关键地方打印出关键信息. 很多时候通过这种方式能够快速定位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 + "\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();
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。