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>
<groupId>logstash-forwarder-java</groupId>
<artifactId>logstash-forwarder-java</artifactId>
<version>0.2.2</version>
<version>0.2.3-SNAPSHOT</version>
<name>logstash-forwarder-java</name>
<description>Java version of logstash forwarder</description>
<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) {
File file = state.getFile();
long pointer = state.getPointer();
if(state.isDeleted() || state.getRandomAccessFile() == null) { // Don't try to read this file
pointerMap.put(file, pointer);
return 0;
} else {
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();
int numberOfEvents = 0;
try {
if(state.isDeleted() || state.getRandomAccessFile() == null) { // Don't try to read this file
if(logger.isTraceEnabled()) {
logger.trace("File : " + file + " has been deleted");
}
} else if(state.getRandomAccessFile().length() == 0) {
if(logger.isTraceEnabled()) {
logger.trace("File : " + file + " is empty");
}
} 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);
return eventList.size() - eventListSizeBefore; // Return number of events read
} catch(IOException e) {
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) {
@@ -105,8 +116,7 @@ public class FileReader extends Reader {
}
}
} catch(IOException e) {
logger.warn("Exception raised while reading file : " + state.getFile());
e.printStackTrace();
logger.warn("Exception raised while reading file : " + state.getFile(), e);
}
return false;
}
@@ -129,8 +139,7 @@ public class FileReader extends Reader {
}
reader.seek(pos); // Ensure we can re-read if necessary
} catch(IOException e) {
logger.warn("Exception raised while reading file : " + state.getFile());
e.printStackTrace();
logger.warn("Exception raised while reading file : " + state.getFile(), e);
}
return pos;
}