diff --git a/pom.xml b/pom.xml index 6c45361..eaf497f 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 logstash-forwarder-java logstash-forwarder-java - 0.1.3 + 0.1.4-SNAPSHOT logstash-forwarder-java Java version of logstash forwarder https://github.com/didfet/logstash-forwarder-java diff --git a/src/main/java/info/fetter/logstashforwarder/FileState.java b/src/main/java/info/fetter/logstashforwarder/FileState.java index 53e38da..e3623a7 100644 --- a/src/main/java/info/fetter/logstashforwarder/FileState.java +++ b/src/main/java/info/fetter/logstashforwarder/FileState.java @@ -157,6 +157,13 @@ public class FileState { public void setOldFileState(FileState oldFileState) { this.oldFileState = oldFileState; } + + public void deleteOldFileState() { + try { + oldFileState.getRandomAccessFile().close(); + oldFileState = null; + } catch(Exception e) {} + } public Event getFields() { return fields; diff --git a/src/main/java/info/fetter/logstashforwarder/FileWatcher.java b/src/main/java/info/fetter/logstashforwarder/FileWatcher.java index 1c36b6a..1cd9301 100644 --- a/src/main/java/info/fetter/logstashforwarder/FileWatcher.java +++ b/src/main/java/info/fetter/logstashforwarder/FileWatcher.java @@ -170,20 +170,17 @@ public class FileWatcher { } logger.trace("Refreshing file state"); - for(File file : newWatchMap.keySet()) { + for(FileState state : newWatchMap.values()) { if(logger.isTraceEnabled()) { - logger.trace("Refreshing file : " + file.getCanonicalPath()); + logger.trace("Refreshing file : " + state.getFile()); } - FileState state = newWatchMap.get(file); FileState oldState = state.getOldFileState(); if(oldState == null) { logger.trace("File has been truncated or created, not retrieving pointer"); } else { logger.trace("File has not been truncated or created, retrieving pointer"); state.setPointer(oldState.getPointer()); - try { - oldState.getRandomAccessFile().close(); - } catch(Exception e) {} + state.deleteOldFileState(); } }