背景:日常开发中,要打印出逻辑代码块的消耗时长,通常呢会在逻辑代码块前后打印出当前系统时间,并减法,来计算出消耗时长。在查看SpringBoot的源码的时候,发现Spring提供了有一个叫StopWatch的类。使用起来很方便。
package com.example.studySpringBoot;
import org.junit.Test;
import org.springframework.util.StopWatch;
public class TestSpringStopWatch {
@Test
public void goodMorning() throws InterruptedException {
StopWatch stopWatch = new StopWatch("早上洗漱");
stopWatch.start("起床");
Thread.sleep(5000);
stopWatch.stop();
stopWatch.start("刷牙");
Thread.sleep(1000);
stopWatch.stop();
stopWatch.start("洗脸");
Thread.sleep(3000);
stopWatch.stop();
System.out.println(stopWatch.prettyPrint());
}
}
打印出来的效果看起来也很舒服:
StopWatch '早上洗漱': running time (millis) = 9001
-----------------------------------------
ms % Task name
-----------------------------------------
05000 056% 起床
01000 011% 刷牙
03001 033% 洗脸