public LogDirectory(File dir, Pattern pattern) throws IOException { if (!dir.isDirectory()) { throw new IllegalArgumentException("Argument must be a directory, got: " + dir); } // Read the date from the first line of each file, and sort the files // accordingly for (File file : dir.listFiles(new PatternFilenameFilter(pattern))) { ApacheLogEntryIterator it = new ApacheLogEntryIterator(open(file), true); while (it.hasNext()) { Date date = it.next().getDate(); // logger.debug("Found log file " + file.getAbsolutePath() + " with date " + date); dateToFile.put(date, file); it.close(); break; } } logger.debug("Found log files: " + dateToFile); }
@Override public void close() { if (itEntry != null) { itEntry.close(); } }