@Override
    public void startNow() throws IOException{
        this.process = startProcess();
        Runtime.getRuntime().addShutdownHook(shutdownHook);

        logWatcher = new JenkinsLogWatcher(getLogId(),process,logFile);
        logWatcher.start();
        try {
            LOGGER.info("Waiting for Jenkins to become running in "+ this);
            this.logWatcher.waitTillReady();
            LOGGER.info("Jenkins is running in " + this);
        } catch (Exception e) {
            diagnoseFailedLoad(e);
        }
    }
 @Override
 public void removeLogListener(LogListener l) {
     logWatcher.removeLogListener(l);
 }
 @Override
 public void addLogListener(LogListener l) {
     logWatcher.addLogListener(l);
 }