code: public void start(boolean async) {
  		// 初始读取
  		try {
  			this.readTail();
  		} catch (IOException e) {
  			throw new IORuntimeException(e);
  		}
  
  		final LineReadWatcher lineReadWatcher = new LineReadWatcher(this.randomAccessFile, this.charset, this.lineHandler);
  		final ScheduledFuture<?> scheduledFuture = this.executorService.scheduleAtFixedRate(//
  				lineReadWatcher, //
  				0, //
  				this.period, TimeUnit.MILLISECONDS//
  		);
  
  		if (false == async) {
  			try {
  				scheduledFuture.get();
  			} catch (ExecutionException e) {
  				throw new UtilException(e);
  			} catch (InterruptedException e) {
  				// ignore and exist
  			}
  		}
  	}
docs: 开始监听
  
  @param async 是否异步执行