Runs a task, log the elapsed time, and return the result. @param task task to be executed @param taskName name of the task
(Supplier<T> task, String taskName, Level level)
| 82 | * @param taskName name of the task |
| 83 | */ |
| 84 | public static <T> T runAndCount(Supplier<T> task, String taskName, Level level) { |
| 85 | logger.info("{} starts ...", taskName); |
| 86 | Timer timer = new Timer(taskName); |
| 87 | timer.start(); |
| 88 | T result = task.get(); |
| 89 | timer.stop(); |
| 90 | logger.log(level, "{} finishes, elapsed time: {}", taskName, |
| 91 | String.format("%.2fs", timer.inSecond())); |
| 92 | return result; |
| 93 | } |
| 94 | |
| 95 | /** |
| 96 | * Runs a task and log the elapsed time. |
no test coverage detected