private void startTailingLog() { TailerListener listener = new TailerListenerAdapter() { @Override public void handle(String line) { System.out.println(testName + ": " + line); } }; // Tail the log File file = new File(getBasedir() + File.separator + getLogFileName()); try { if (file.exists()) { file.delete(); } file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } Tailer tailer = new Tailer(file, listener, TAIL_DELAY_MILLIS); Thread thread = new Thread(tailer); thread.setDaemon(true); thread.start(); }
private TailerListener createListener() { return new TailerListenerAdapter() { @Override public void fileRotated() { // ignore, just keep tailing } @Override public void handle(String line) { session.getAsyncRemote().sendText(line); } @Override public void fileNotFound() { session.getAsyncRemote().sendText(new FileNotFoundException(logFile.toString()).toString()); } @Override public void handle(Exception ex) { session.getAsyncRemote().sendText(ex.toString()); } }; }
private TailerListenerAdapter createListener( final Observer<? super String> observer) { return new TailerListenerAdapter() { @Override public void fileRotated() { // ignore, just keep tailing } @Override public void handle(String line) { observer.onNext(line); } @Override public void fileNotFound() { observer.onError(new FileNotFoundException(file.toString())); } @Override public void handle(Exception ex) { observer.onError(ex); } }; }