mirror of
https://github.com/Febbweiss/logstash-forwarder-java.git
synced 2026-03-05 06:35:44 +00:00
Improved FileReader.
This commit is contained in:
@@ -52,7 +52,9 @@ public class FileReader {
|
|||||||
|
|
||||||
public int readFiles(List<FileState> fileList) throws IOException {
|
public int readFiles(List<FileState> fileList) throws IOException {
|
||||||
int eventCount = 0;
|
int eventCount = 0;
|
||||||
logger.trace("Reading " + fileList.size() + " file(s)");
|
if(logger.isTraceEnabled()) {
|
||||||
|
logger.trace("Reading " + fileList.size() + " file(s)");
|
||||||
|
}
|
||||||
pointerMap = new HashMap<File,Long>(fileList.size(),1);
|
pointerMap = new HashMap<File,Long>(fileList.size(),1);
|
||||||
for(FileState state : fileList) {
|
for(FileState state : fileList) {
|
||||||
eventCount += readFile(state, spoolSize - eventCount);
|
eventCount += readFile(state, spoolSize - eventCount);
|
||||||
@@ -69,8 +71,10 @@ public class FileReader {
|
|||||||
int eventListSizeBefore = eventList.size();
|
int eventListSizeBefore = eventList.size();
|
||||||
File file = state.getFile();
|
File file = state.getFile();
|
||||||
long pointer = state.getPointer();
|
long pointer = state.getPointer();
|
||||||
logger.trace("File : " + file.getCanonicalPath() + " pointer : " + pointer);
|
if(logger.isTraceEnabled()) {
|
||||||
logger.trace("Space left in spool : " + spaceLeftInSpool);
|
logger.trace("File : " + file.getCanonicalPath() + " pointer : " + pointer);
|
||||||
|
logger.trace("Space left in spool : " + spaceLeftInSpool);
|
||||||
|
}
|
||||||
pointer = readLines(state, spaceLeftInSpool);
|
pointer = readLines(state, spaceLeftInSpool);
|
||||||
pointerMap.put(file, pointer);
|
pointerMap.put(file, pointer);
|
||||||
return eventList.size() - eventListSizeBefore; // Return number of events read
|
return eventList.size() - eventListSizeBefore; // Return number of events read
|
||||||
@@ -82,8 +86,10 @@ public class FileReader {
|
|||||||
reader.seek(pos);
|
reader.seek(pos);
|
||||||
String line = readLine(reader);
|
String line = readLine(reader);
|
||||||
while (line != null && spaceLeftInSpool > 0) {
|
while (line != null && spaceLeftInSpool > 0) {
|
||||||
logger.trace("-- Read line : " + line);
|
if(logger.isTraceEnabled()) {
|
||||||
logger.trace("-- Space left in spool : " + spaceLeftInSpool);
|
logger.trace("-- Read line : " + line);
|
||||||
|
logger.trace("-- Space left in spool : " + spaceLeftInSpool);
|
||||||
|
}
|
||||||
pos = reader.getFilePointer();
|
pos = reader.getFilePointer();
|
||||||
addEvent(state, pos, line);
|
addEvent(state, pos, line);
|
||||||
line = readLine(reader);
|
line = readLine(reader);
|
||||||
@@ -117,10 +123,10 @@ public class FileReader {
|
|||||||
|
|
||||||
private void addEvent(FileState state, long pos, String line) throws IOException {
|
private void addEvent(FileState state, long pos, String line) throws IOException {
|
||||||
Event event = new Event(state.getFields());
|
Event event = new Event(state.getFields());
|
||||||
event.addField("file", state.getFile().getCanonicalPath());
|
event.addField("file", state.getFile().getCanonicalPath())
|
||||||
event.addField("offset", pos);
|
.addField("offset", pos)
|
||||||
event.addField("line", line);
|
.addField("line", line)
|
||||||
event.addField("host", hostname);
|
.addField("host", hostname);
|
||||||
eventList.add(event);
|
eventList.add(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user