ThreadUtils.gracefulShutdown(pool, 1000, 1000, TimeUnit.MILLISECONDS);
assertTrue(pool.isTerminated());
assertNull(appender.getFirstLog());
//time not enough to shutdown,call shutdownNow
appender.clearLogs();
pool = Executors.newSingleThreadExecutor();
task = new Task(logger, 1000, 0);
pool.execute(task);
ThreadUtils.gracefulShutdown(pool, 500, 1000, TimeUnit.MILLISECONDS);
assertTrue(pool.isTerminated());