Class MultipleFileLogReader
- java.lang.Object
-
- org.eclipse.rdf4j.common.logging.base.AbstractLogReader
-
- org.eclipse.rdf4j.common.logging.file.logback.MultipleFileLogReader
-
public class MultipleFileLogReader extends AbstractLogReader
Date range-enabled wrapper for FileLogReader. Reads multiple log files chunked by dates as a single log.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
MultipleFileLogReader.DateRangeFilenameFilter
Custom filename filter
-
Field Summary
Fields Modifier and Type Field Description private int
count
private FileLogReader
currentReader
private java.util.Date
endDate
private java.lang.String
fileNamePattern
private java.util.Vector<java.io.File>
logFiles
private java.util.Iterator<java.io.File>
logFilesIterator
private java.util.Date
maxDate
private java.util.Date
minDate
private LogRecord
next
private java.util.Date
startDate
-
Constructor Summary
Constructors Constructor Description MultipleFileLogReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
Destroy the log reader and release all used resources.private void
doSkip(int offset)
Skip for a specific offsetjava.util.Date
getEndDate()
Return the end datejava.util.Date
getMaxDate()
Max (latest) available date of the log records.java.util.Date
getMinDate()
Min (earliest) available date of the log records.private LogRecord
getNext()
Get next log recordjava.util.Date
getStartDate()
Return the start dateboolean
hasNext()
void
init()
Initialize the log reader.boolean
isMoreAvailable()
Check if more records are available after limit is reached.LogRecord
next()
void
setAppender(ch.qos.logback.core.Appender<?> appender)
Logging appender associated with this reader.void
setEndDate(java.util.Date endDate)
Set the end datevoid
setStartDate(java.util.Date startDate)
Set start dateboolean
supportsDateRanges()
Test if this LogReader implementation supports date-based records filtering.-
Methods inherited from class org.eclipse.rdf4j.common.logging.base.AbstractLogReader
getAppender, getLevel, getLimit, getOffset, getThread, getThreadNames, remove, setLevel, setLimit, setOffset, setThread, supportsLevelFilter, supportsThreadFilter
-
-
-
-
Field Detail
-
startDate
private java.util.Date startDate
-
endDate
private java.util.Date endDate
-
minDate
private java.util.Date minDate
-
maxDate
private java.util.Date maxDate
-
fileNamePattern
private java.lang.String fileNamePattern
-
logFiles
private java.util.Vector<java.io.File> logFiles
-
logFilesIterator
private java.util.Iterator<java.io.File> logFilesIterator
-
next
private LogRecord next
-
count
private int count
-
currentReader
private FileLogReader currentReader
-
-
Method Detail
-
supportsDateRanges
public boolean supportsDateRanges()
Description copied from interface:LogReader
Test if this LogReader implementation supports date-based records filtering.- Specified by:
supportsDateRanges
in interfaceLogReader
- Overrides:
supportsDateRanges
in classAbstractLogReader
- Returns:
- true if date filtering is supported
-
setAppender
public void setAppender(ch.qos.logback.core.Appender<?> appender)
Description copied from interface:LogReader
Logging appender associated with this reader.- Specified by:
setAppender
in interfaceLogReader
- Overrides:
setAppender
in classAbstractLogReader
- Parameters:
appender
- logging appender associated with this reader
-
init
public void init() throws java.lang.Exception
Description copied from interface:LogReader
Initialize the log reader.- Throws:
java.lang.Exception
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<LogRecord>
- Specified by:
hasNext
in classAbstractLogReader
-
isMoreAvailable
public boolean isMoreAvailable()
Description copied from interface:LogReader
Check if more records are available after limit is reached.- Returns:
- true if more records are available
-
next
public LogRecord next()
- Specified by:
next
in interfacejava.util.Iterator<LogRecord>
- Specified by:
next
in classAbstractLogReader
-
getNext
private LogRecord getNext() throws java.lang.Exception
Get next log record- Returns:
- log record
- Throws:
java.lang.Exception
-
doSkip
private void doSkip(int offset)
Skip for a specific offset- Parameters:
offset
- offset
-
destroy
public void destroy() throws java.io.IOException
Description copied from interface:LogReader
Destroy the log reader and release all used resources.- Throws:
java.io.IOException
-
getStartDate
public java.util.Date getStartDate()
Return the start date- Specified by:
getStartDate
in interfaceLogReader
- Overrides:
getStartDate
in classAbstractLogReader
- Returns:
- start date.
-
setStartDate
public void setStartDate(java.util.Date startDate)
Set start date- Specified by:
setStartDate
in interfaceLogReader
- Overrides:
setStartDate
in classAbstractLogReader
- Parameters:
startDate
- The startDate to set.
-
getEndDate
public java.util.Date getEndDate()
Return the end date- Specified by:
getEndDate
in interfaceLogReader
- Overrides:
getEndDate
in classAbstractLogReader
- Returns:
- end date
-
setEndDate
public void setEndDate(java.util.Date endDate)
Set the end date- Specified by:
setEndDate
in interfaceLogReader
- Overrides:
setEndDate
in classAbstractLogReader
- Parameters:
endDate
- The endDate to set.
-
getMaxDate
public java.util.Date getMaxDate()
Description copied from interface:LogReader
Max (latest) available date of the log records.- Specified by:
getMaxDate
in interfaceLogReader
- Overrides:
getMaxDate
in classAbstractLogReader
- Returns:
- maximum date
-
getMinDate
public java.util.Date getMinDate()
Description copied from interface:LogReader
Min (earliest) available date of the log records.- Specified by:
getMinDate
in interfaceLogReader
- Overrides:
getMinDate
in classAbstractLogReader
- Returns:
- minimum date
-
-