@Override
    public void deconstruct() {
        super.deconstruct();
        executorService.shutdown();
        try {
            if ( ! executorService.awaitTermination(10, TimeUnit.SECONDS))
                log.log(Level.WARNING, "Timeout elapsed waiting for termination");
        } catch (InterruptedException e) {
            log.log(Level.WARNING, "Failure when waiting for termination: " + e.getMessage());
        }
        run();  // Run a last time to make sure all data is written to file
    }
Start processing files, must be called by subclasses
container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java