Example usage for org.apache.commons.io.input Tailer Tailer

List of usage examples for org.apache.commons.io.input Tailer Tailer

Introduction

In this page you can find the example usage for org.apache.commons.io.input Tailer Tailer.

Prototype

public Tailer(File file, TailerListener listener, long delay) 

Source Link

Document

Creates a Tailer for the given file, starting from the beginning.

Usage

From source file:com.athena.meerkat.controller.web.provisioning.log.LogTailerListenerTest.java

@Test
public void testHandleString() {
    LogTailerListener listener = new LogTailerListener(new WebSocketSessionMock());
    long delay = 2000;
    File file = new File("G:\\project\\AthenaMeerkat\\meerkat.log");
    Tailer tailer = new Tailer(file, listener, delay);

    // stupid executor impl. for demo purposes

    Executor executor = new Executor() {
        public void execute(Runnable command) {
            command.run();//from w  ww . ja v a  2s.  co  m
        }
    };

    executor.execute(tailer);

    /*
    Thread thread = new Thread(tailer);
    thread.setDaemon(true);
    thread.start();
            
    try{
      Thread.sleep(10000);
    }catch(Exception e){}
    */
}

From source file:com.google.cloud.tools.maven.it.verifier.TailingVerifier.java

private void startTailingLog() {
    TailerListener listener = new TailerListenerAdapter() {
        @Override//from www  . j a  v a2 s . c  o  m
        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();
}

From source file:com.cnaude.purpleirc.LogTailer.java

private void startWatcher() {
    plugin.getServer().getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
        @Override//  w ww  . j  a v  a 2s  . c  o  m
        public void run() {
            plugin.logInfo("Tailing file: " + file.getName());
            listener = new MyTailerListener();
            tailer = new Tailer(file, listener, SLEEP);
            thread = new Thread(tailer);
            thread.setDaemon(true); // optional
            thread.start();
        }
    }, 0);
}

From source file:com.athena.meerkat.controller.web.provisioning.AbstractProvisioningService.java

/**
 * <pre>//from   w  w  w  .ja va  2 s  .c  o m
 * send log to client(UI)
 * </pre>
 * 
 * @param session
 * @param jobPath
 */
private void sendLog(WebSocketSession session, String jobPath, boolean lastTask) {

    if (session != null) {

        LogTailerListener listener = new LogTailerListener(session, lastTask);
        long delay = 2000;
        File file = new File(jobPath + File.separator + "build.log");
        LOGGER.debug("log file : {}", file.getAbsoluteFile());

        Tailer tailer = new Tailer(file, listener, delay);
        new Thread(tailer).start();
    }

}

From source file:com.athena.meerkat.controller.web.provisioning.AbstractProvisioningService.java

public void sendLog(WebSocketSession session, int taskHistoryDetailId) {

    TaskHistoryDetail taskDetail = taskService.getTaskHistoryDetail(taskHistoryDetailId);

    LogTailerListener listener = new LogTailerListener(session, true);
    long delay = 2000;
    File file = new File(taskDetail.getLogFilePath());
    LOGGER.debug("log file : {}", file.getAbsoluteFile());

    Tailer tailer = new Tailer(file, listener, delay);
    new Thread(tailer).start();

}

From source file:dbseer.old.middleware.MiddlewareSocket.java

private boolean startMonitoringProcesses(boolean newStart) {
    if (newStart) {
        DBSeerGUI.liveMonitorInfo.reset();
    }/*  w  w  w.j  a  v a2  s. c o m*/
    StreamClustering.LOCK = new ReentrantLock();
    logReceiver = new IncrementalLogReceiver(this.ip,
            DBSeerGUI.userSettings.getDBSeerRootPath() + File.separator + DBSeerConstants.LIVE_DATASET_PATH);
    incrementalLogThread = new Thread(logReceiver);
    incrementalLogThread.start();

    logParser = new LogParser(txMap);
    logParserThread = new Thread(logParser);
    logParserThread.start();

    if (newStart || StreamClustering.getDBSCAN() == null) {
        IncrementalDBSCAN dbscan = new IncrementalDBSCAN(DBSeerConstants.DBSCAN_MIN_PTS,
                Math.sqrt(Transaction.DIFF_SCALE) / 5, DBSeerConstants.DBSCAN_INIT_PTS);
        StreamClustering.setDBSCAN(dbscan);
    }

    clusterRunnable = new ClusterRunnable();
    clusteringThread = new Thread(clusterRunnable);
    clusteringThread.start();

    File sysLogFile = new File(DBSeerGUI.userSettings.getDBSeerRootPath() + File.separator
            + DBSeerConstants.LIVE_DATASET_PATH + File.separator + "log_exp_1.csv");
    File monitorFile = new File(DBSeerGUI.userSettings.getDBSeerRootPath() + File.separator
            + DBSeerConstants.LIVE_DATASET_PATH + File.separator + "monitor");
    File datasetHeaderFile = new File(DBSeerGUI.userSettings.getDBSeerRootPath() + File.separator
            + DBSeerConstants.LIVE_DATASET_PATH + File.separator + "dataset_header.m");
    PrintWriter monitorWriter = null;
    try {
        monitorWriter = new PrintWriter(new FileWriter(monitorFile, true));
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    }

    liveTransactionProcessor = new LiveTransactionProcessor(txMap, monitorWriter);
    liveTransactionProcessorThread = new Thread(liveTransactionProcessor);
    liveTransactionProcessorThread.start();

    TailerListener tailerListener = new LiveSystemLogTailerListener(txMap, monitorWriter, datasetHeaderFile,
            newStart);
    sysLogTailer = new Tailer(sysLogFile, tailerListener, 1000);
    sysLogTailerThread = new Thread(sysLogTailer);
    sysLogTailerThread.start();

    liveMonitor = new LiveMonitor();
    //      liveMonitor.start();

    if (newStart) {
        DBSeerGUI.isLiveDataReady = false;
        DBSeerGUI.liveDataset.clearTransactionTypes();
    }

    DBSeerGUI.isLiveMonitoring = true;

    return true;
}