diff --git a/src/main/java/info/fetter/logstashforwarder/FileWatcher.java b/src/main/java/info/fetter/logstashforwarder/FileWatcher.java index 18b8a56..9ca9429 100644 --- a/src/main/java/info/fetter/logstashforwarder/FileWatcher.java +++ b/src/main/java/info/fetter/logstashforwarder/FileWatcher.java @@ -48,7 +48,8 @@ public class FileWatcher { private boolean stdinConfigured = false; private String sincedbFile = null; - public FileWatcher() { + public FileWatcher(String sincedbFileName) { + sincedbFile = sincedbFileName; try { logger.debug("Loading saved states"); savedStates = Registrar.readStateFromJson(sincedbFile); @@ -76,7 +77,7 @@ public class FileWatcher { printWatchMap(); } - public void addFilesToWatch(String fileToWatch, Event fields, int deadTime, Multiline multiline) { + public void addFilesToWatch(String fileToWatch, Event fields, long deadTime, Multiline multiline) { try { if(fileToWatch.equals("-")) { addStdIn(fields); @@ -219,7 +220,7 @@ public class FileWatcher { removeMarkedFilesFromWatchMap(); } - private void addSingleFile(String fileToWatch, Event fields, int deadTime, Multiline multiline) throws Exception { + private void addSingleFile(String fileToWatch, Event fields, long deadTime, Multiline multiline) throws Exception { logger.info("Watching file : " + new File(fileToWatch).getCanonicalPath()); String directory = FilenameUtils.getFullPath(fileToWatch); String fileName = FilenameUtils.getName(fileToWatch); @@ -230,7 +231,7 @@ public class FileWatcher { initializeWatchMap(new File(directory), fileFilter, fields, multiline); } - private void addWildCardFiles(String filesToWatch, Event fields, int deadTime, Multiline multiline) throws Exception { + private void addWildCardFiles(String filesToWatch, Event fields, long deadTime, Multiline multiline) throws Exception { logger.info("Watching wildcard files : " + filesToWatch); String directory = FilenameUtils.getFullPath(filesToWatch); String wildcard = FilenameUtils.getName(filesToWatch); @@ -367,6 +368,5 @@ public class FileWatcher { public void setSincedb(String sincedbFile) { this.sincedbFile = sincedbFile; - } - + } } diff --git a/src/main/java/info/fetter/logstashforwarder/Forwarder.java b/src/main/java/info/fetter/logstashforwarder/Forwarder.java index 1d8b011..79870a8 100644 --- a/src/main/java/info/fetter/logstashforwarder/Forwarder.java +++ b/src/main/java/info/fetter/logstashforwarder/Forwarder.java @@ -72,10 +72,9 @@ public class Forwarder { try { parseOptions(args); setupLogging(); - watcher = new FileWatcher(); + watcher = new FileWatcher(sincedbFile); watcher.setMaxSignatureLength(signatureLength); watcher.setTail(tailSelected); - watcher.setSincedb(sincedbFile); configManager = new ConfigurationManager(config); configManager.readConfiguration(); for(FilesSection files : configManager.getConfig().getFiles()) { diff --git a/src/main/java/info/fetter/logstashforwarder/config/FilesSection.java b/src/main/java/info/fetter/logstashforwarder/config/FilesSection.java index 3c2b8ed..f9f276b 100644 --- a/src/main/java/info/fetter/logstashforwarder/config/FilesSection.java +++ b/src/main/java/info/fetter/logstashforwarder/config/FilesSection.java @@ -54,8 +54,8 @@ public class FilesSection { return deadTime; } - public int getDeadTimeInSeconds() { - int deadTimeInSeconds = 0; + public long getDeadTimeInSeconds() { + long deadTimeInSeconds = 0; String remaining = deadTime; if(deadTime.contains("h")) { diff --git a/src/test/java/info/fetter/logstashforwarder/FileWatcherTest.java b/src/test/java/info/fetter/logstashforwarder/FileWatcherTest.java index 5e4c96c..3eaa7c6 100644 --- a/src/test/java/info/fetter/logstashforwarder/FileWatcherTest.java +++ b/src/test/java/info/fetter/logstashforwarder/FileWatcherTest.java @@ -48,7 +48,7 @@ public class FileWatcherTest { //@Test public void testFileWatch() throws InterruptedException, IOException { - FileWatcher watcher = new FileWatcher(); + FileWatcher watcher = new FileWatcher(".logstash-forwarder-java"); watcher.addFilesToWatch("./test.txt", new Event().addField("test", "test"), FileWatcher.ONE_DAY, null); for(int i = 0; i < 100; i++) { Thread.sleep(1000); @@ -58,7 +58,7 @@ public class FileWatcherTest { //@Test public void testFileWatchWithMultilines() throws InterruptedException, IOException { - FileWatcher watcher = new FileWatcher(); + FileWatcher watcher = new FileWatcher(".logstash-forwarder-java"); Multiline multiline = new Multiline(); watcher.addFilesToWatch("./test.txt", new Event().addField("test", "test"), FileWatcher.ONE_DAY, multiline); for(int i = 0; i < 100; i++) { @@ -73,7 +73,7 @@ public class FileWatcherTest { logger.warn("Not executing this test on windows"); return; } - FileWatcher watcher = new FileWatcher(); + FileWatcher watcher = new FileWatcher(".logstash-forwarder-java"); watcher.addFilesToWatch("./testFileWatcher*.txt", new Event().addField("test", "test"), FileWatcher.ONE_DAY, null); watcher.initialize(); @@ -118,7 +118,7 @@ public class FileWatcherTest { logger.warn("Not executing this test on windows"); return; } - FileWatcher watcher = new FileWatcher(); + FileWatcher watcher = new FileWatcher(".logstash-forwarder-java"); Map m = new HashMap(); m.put("pattern", " nl"); m.put("negate", "false");