有时候,我们需要分析一段的代码中,各个步骤所用时间和所占比例,就可以适用StopWatch来实现(有s[pring的,google的)
package com.hgh.springcloud.admin.test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StopWatch;
public class TestStopWatch {
public static Logger logger = LoggerFactory.getLogger(TestStopWatch.class);
public static void main(String[] args) {
logger.info("111");
StopWatch stopWatch = new StopWatch();
stopWatch.start("测试");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
stopWatch.stop();
//logger.info("【测试类型:{},耗时{}】","测试",stopWatch.prettyPrint());
stopWatch.start("测试2");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
stopWatch.stop();
logger.info("【测试类型2:{},耗时{}】","测试2",stopWatch.prettyPrint());
}
}
输出结果
14:13:07.759 [main] INFO com.hgh.springcloud.admin.test.TestStopWatch - 111
14:13:11.785 [main] INFO com.hgh.springcloud.admin.test.TestStopWatch - 【测试类型2:测试2,耗时StopWatch '': running time (millis) = 4000
-----------------------------------------
ms % Task name
-----------------------------------------
02000 050% 测试
02000 050% 测试2
】