package games.strategy.triplea.util; import java.util.logging.Level; import java.util.logging.Logger; /** * Utility class for timing. * Use, * Stopwatch someTask = new StopWatch(someLogger, someLevel, taskDescriptiopn); * ...do stuff * someTask.done(); */ public class Stopwatch { private final long m_startTime = System.currentTimeMillis(); private final String m_taskDescription; private final Logger m_logger; private final Level m_level; public Stopwatch(final Logger logger, final Level level, final String taskDescription) { m_taskDescription = taskDescription; m_logger = logger; m_level = level; } public void done() { if (m_logger.isLoggable(m_level)) { m_logger.log(m_level, m_taskDescription + " took " + (System.currentTimeMillis() - m_startTime) + " ms"); } } }