List of usage examples for org.apache.commons.io.input ReversedLinesFileReader ReversedLinesFileReader
public ReversedLinesFileReader(final File file) throws IOException
From source file:com.kajj.tools.logviewer.LogRepository.java
/** * Returns the last <code>numberOfLines</code> lines from the log file. * * @param fileName the name of the log file. * @param numberOfLines the number of lines to return. * @return The last <code>numberOfLines</code> lines in the log file. * @throws IOException if an I/O exception occurs reading the log file. *//*from w w w. j a va2 s. com*/ public List<String> getTailLog(final String fileName, final int numberOfLines) throws IOException { final File logFile = new File(LOG_DIRECTORY, fileName); final ReversedLinesFileReader reader = new ReversedLinesFileReader(logFile); final LinkedList<String> logs = new LinkedList<>(); for (int i = 0; i < numberOfLines; i++) { final String line = reader.readLine(); if (line == null) { break; } logs.addFirst(line); } return logs; }
From source file:com.hotwire.test.steps.application.IosApplication.java
@Override public void verifyAnalytics(String analyticsParams) { String fileName = (System.getProperty("user.dir")).substring(0, System.getProperty("user.dir").lastIndexOf("/")) + "/appium.log"; logger.info("Analytics parameters from feature file : " + analyticsParams); StringBuilder badParams = new StringBuilder(""); try (ReversedLinesFileReader rlr = new ReversedLinesFileReader(new File(fileName))) { String analytics = getExpectedAnalytics(analyticsParams); logger.info("Expected analytics values from xml file: " + analytics); String[] analyticsValuePairs = analytics.split(";"); String sCurrentLine;/*from w w w . j ava 2 s . c o m*/ boolean isAnalyticsPresent = false; while ((sCurrentLine = rlr.readLine()) != null && !isAnalyticsPresent) { if (sCurrentLine.contains("<analytics_log>")) { logger.info("Analytics log from appium log file : " + sCurrentLine.substring( sCurrentLine.indexOf("<analytics_log>"), sCurrentLine.indexOf("</analytics_log>"))); isAnalyticsPresent = sCurrentLine.contains(analytics); for (String s : analyticsValuePairs) { isAnalyticsPresent = sCurrentLine.contains(s); if (!isAnalyticsPresent) { badParams.append(s); break; } if (!(badParams.toString().isEmpty())) break; } if (!(badParams.toString().isEmpty())) break; } if (!(badParams.toString().isEmpty())) break; } assertThat(isAnalyticsPresent).as("Analytics " + analyticsParams + " with paramaters " + badParams + " isn't present or incorrect. Please check this situation").isTrue(); } catch (Exception e) { e.printStackTrace(); } }
From source file:dbseer.gui.user.DBSeerDataSetPath.java
public int getNumTransactionType() { if (this.avgLatency.isEmpty()) { return 0; }/*from w w w.j a va 2 s . c om*/ // use the last line of average latency file to get num tx types. File avgLatencyFile = new File(this.avgLatency); if (avgLatencyFile == null || !avgLatencyFile.exists() || avgLatencyFile.length() == 0) { return 0; } try { ReversedLinesFileReader reverseFileReader = new ReversedLinesFileReader(avgLatencyFile); String line = reverseFileReader.readLine(); // read last line. String[] tokens = line.trim().split("\\s+"); reverseFileReader.close(); return (tokens.length - 1); } catch (IOException e) { e.printStackTrace(); return 0; } }
From source file:com.kotcrab.vis.editor.util.CrashReporter.java
private void printLog() throws IOException { println("--- Log file (last 200 lines) ---"); ReversedLinesFileReader reader = new ReversedLinesFileReader(logFile); Array<String> logLines = new Array<>(); for (int i = 0; i < 200; i++) { String line = reader.readLine(); if (line == null) break; logLines.add(line);/* w ww. java 2 s . c o m*/ } logLines.reverse(); for (String s : logLines) println(s); println("---------------------------------"); println(); }
From source file:it.serverSystem.LogsTest.java
private String readLastAccessLog() throws IOException { try (ReversedLinesFileReader tailer = new ReversedLinesFileReader(accessLogsFile())) { return tailer.readLine(); }/*ww w .ja v a 2 s. c o m*/ }
From source file:com.enioka.jqm.api.ServiceSimple.java
@GET @Path("enginelog") @Produces(MediaType.TEXT_PLAIN)/*from w w w . jav a2 s. c o m*/ public String getEngineLog(@QueryParam("latest") int latest) { // Failsafe if (latest > 10000) { latest = 10000; } ReversedLinesFileReader r = null; try { File f = new File( FilenameUtils.concat("./logs/", "jqm-" + context.getInitParameter("jqmnode") + ".log")); r = new ReversedLinesFileReader(f); StringBuilder sb = new StringBuilder(latest); String buf = r.readLine(); int i = 1; while (buf != null && i <= latest) { sb.append(buf); sb.append(System.getProperty("line.separator")); i++; buf = r.readLine(); } return sb.toString(); } catch (Exception e) { throw new ErrorDto("Could not return the desired file", 8, e, Status.NO_CONTENT); } finally { IOUtils.closeQuietly(r); } }
From source file:com.hellblazer.process.impl.AbstractManagedProcess.java
@Override public String getStdErrTail(int numLines) throws IOException { if (!getStdErrFile().exists()) { throw new IllegalThreadStateException("Process has not been started or has already exited"); }//from ww w .ja va 2 s . c om List<String> lines = new ArrayList<>(); try (ReversedLinesFileReader reader = new ReversedLinesFileReader(getStdErrFile())) { int linesRead = 0; String line; while (((line = reader.readLine()) != null) && (linesRead++ < numLines)) { lines.add(line); } } Collections.reverse(lines); StringBuilder builder = new StringBuilder(); for (String line : lines) { builder.append(line); builder.append('\n'); } return builder.toString(); }
From source file:edu.sjsu.pokemonclassifier.classification.UserPreferenceInfo.java
/** * Modified by sidmishraw -- closed reading and writing streams * @param dataRow// ww w. ja va2s .c om */ private void writeInfoToFile(String dataRow) { BufferedWriter bufferedWriter = null; ReversedLinesFileReader rLinesFileReader = null; try { int labelIndex = 0; File userStoredData = new File(fileName); System.out.println("FIle: " + userStoredData.getAbsolutePath()); if (!userStoredData.exists()) { userStoredData.createNewFile(); System.out.println("DEBUG INFO :: Created file " + fileName); } else { rLinesFileReader = new ReversedLinesFileReader(userStoredData); String bottomLine = rLinesFileReader.readLine(); System.out.println("DEBUG INFO :: line read " + bottomLine); String[] tokens = bottomLine.split(" "); labelIndex = Integer.parseInt(tokens[0]) + 1; } numOfLikedPokemon = labelIndex + 1; // ToDo: // Set a limit of file writing. // Need to write in specific line String line = String.format("%d %s", labelIndex, dataRow); bufferedWriter = new BufferedWriter(new FileWriter(userStoredData, true)); bufferedWriter.write(line + "\n"); } catch (IOException e) { System.out.println("COULD NOT WRITE TO FILE!!"); } finally { if (null != rLinesFileReader) { try { rLinesFileReader.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != bufferedWriter) { try { bufferedWriter.close(); } catch (IOException e) { e.printStackTrace(); } } } }
From source file:com.hellblazer.process.impl.AbstractManagedProcess.java
@Override public String getStdOutTail(int numLines) throws IOException { if (!getStdOutFile().exists()) { throw new IllegalThreadStateException("Process has not been started or has already exited"); }/*from w w w . ja v a2 s . com*/ List<String> lines = new ArrayList<>(); try (ReversedLinesFileReader reader = new ReversedLinesFileReader(getStdOutFile())) { int linesRead = 0; String line; while (((line = reader.readLine()) != null) && (linesRead++ < numLines)) { lines.add(line); } } Collections.reverse(lines); StringBuilder builder = new StringBuilder(); for (String line : lines) { builder.append(line); builder.append('\n'); } return builder.toString(); }
From source file:dbseer.gui.user.DBSeerDataSet.java
public long getEndTime() { if (!loadDatasetPath()) { return -1; }//from w ww . j a v a 2s.co m if (datasetPathList.isEmpty()) { return -1; } DBSeerDataSetPath path = datasetPathList.get(0); String latencyPath = path.getAvgLatency(); File latencyFile = new File(latencyPath); try { ReversedLinesFileReader lastLineReader = new ReversedLinesFileReader(latencyFile); String lastLine = lastLineReader.readLine(); return this.getTimestamp(lastLine); } catch (FileNotFoundException e) { return -1; } catch (IOException e) { return -1; } }