This commit is contained in:
didfet
2015-06-26 18:18:44 +02:00
parent cd42ee14bd
commit 5d54d8ebbd
2 changed files with 28 additions and 19 deletions

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>logstash-forwarder-java</groupId> <groupId>logstash-forwarder-java</groupId>
<artifactId>logstash-forwarder-java</artifactId> <artifactId>logstash-forwarder-java</artifactId>
<version>0.2.2</version> <version>0.2.3-SNAPSHOT</version>
<name>logstash-forwarder-java</name> <name>logstash-forwarder-java</name>
<description>Java version of logstash forwarder</description> <description>Java version of logstash forwarder</description>
<url>https://github.com/didfet/logstash-forwarder-java</url> <url>https://github.com/didfet/logstash-forwarder-java</url>

View File

@@ -70,23 +70,34 @@ public class FileReader extends Reader {
private int readFile(FileState state, int spaceLeftInSpool) { private int readFile(FileState state, int spaceLeftInSpool) {
File file = state.getFile(); File file = state.getFile();
long pointer = state.getPointer(); long pointer = state.getPointer();
if(state.isDeleted() || state.getRandomAccessFile() == null) { // Don't try to read this file int numberOfEvents = 0;
pointerMap.put(file, pointer); try {
return 0; if(state.isDeleted() || state.getRandomAccessFile() == null) { // Don't try to read this file
} else { if(logger.isTraceEnabled()) {
int eventListSizeBefore = eventList.size(); logger.trace("File : " + file + " has been deleted");
if(logger.isTraceEnabled()) { }
logger.trace("File : " + file + " pointer : " + pointer); } else if(state.getRandomAccessFile().length() == 0) {
logger.trace("Space left in spool : " + spaceLeftInSpool); if(logger.isTraceEnabled()) {
} logger.trace("File : " + file + " is empty");
if(isCompressedFile(state)) { }
pointer = file.length();
} else { } else {
pointer = readLines(state, spaceLeftInSpool); int eventListSizeBefore = eventList.size();
if(logger.isTraceEnabled()) {
logger.trace("File : " + file + " pointer : " + pointer);
logger.trace("Space left in spool : " + spaceLeftInSpool);
}
if(isCompressedFile(state)) {
pointer = file.length();
} else {
pointer = readLines(state, spaceLeftInSpool);
}
numberOfEvents = eventList.size() - eventListSizeBefore;
} }
pointerMap.put(file, pointer); } catch(IOException e) {
return eventList.size() - eventListSizeBefore; // Return number of events read logger.warn("Exception raised while reading file : " + state.getFile(), e);
} }
pointerMap.put(file, pointer);
return numberOfEvents; // Return number of events read
} }
private boolean isCompressedFile(FileState state) { private boolean isCompressedFile(FileState state) {
@@ -105,8 +116,7 @@ public class FileReader extends Reader {
} }
} }
} catch(IOException e) { } catch(IOException e) {
logger.warn("Exception raised while reading file : " + state.getFile()); logger.warn("Exception raised while reading file : " + state.getFile(), e);
e.printStackTrace();
} }
return false; return false;
} }
@@ -129,8 +139,7 @@ public class FileReader extends Reader {
} }
reader.seek(pos); // Ensure we can re-read if necessary reader.seek(pos); // Ensure we can re-read if necessary
} catch(IOException e) { } catch(IOException e) {
logger.warn("Exception raised while reading file : " + state.getFile()); logger.warn("Exception raised while reading file : " + state.getFile(), e);
e.printStackTrace();
} }
return pos; return pos;
} }