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 classMultipleFileLogReader.DateRangeFilenameFilterCustom filename filter
-
Field Summary
Fields Modifier and Type Field Description private intcountprivate FileLogReadercurrentReaderprivate java.util.DateendDateprivate java.lang.StringfileNamePatternprivate java.util.Vector<java.io.File>logFilesprivate java.util.Iterator<java.io.File>logFilesIteratorprivate java.util.DatemaxDateprivate java.util.DateminDateprivate LogRecordnextprivate java.util.DatestartDate
-
Constructor Summary
Constructors Constructor Description MultipleFileLogReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()Destroy the log reader and release all used resources.private voiddoSkip(int offset)Skip for a specific offsetjava.util.DategetEndDate()Return the end datejava.util.DategetMaxDate()Max (latest) available date of the log records.java.util.DategetMinDate()Min (earliest) available date of the log records.private LogRecordgetNext()Get next log recordjava.util.DategetStartDate()Return the start datebooleanhasNext()voidinit()Initialize the log reader.booleanisMoreAvailable()Check if more records are available after limit is reached.LogRecordnext()voidsetAppender(ch.qos.logback.core.Appender<?> appender)Logging appender associated with this reader.voidsetEndDate(java.util.Date endDate)Set the end datevoidsetStartDate(java.util.Date startDate)Set start datebooleansupportsDateRanges()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:LogReaderTest if this LogReader implementation supports date-based records filtering.- Specified by:
supportsDateRangesin interfaceLogReader- Overrides:
supportsDateRangesin classAbstractLogReader- Returns:
- true if date filtering is supported
-
setAppender
public void setAppender(ch.qos.logback.core.Appender<?> appender)
Description copied from interface:LogReaderLogging appender associated with this reader.- Specified by:
setAppenderin interfaceLogReader- Overrides:
setAppenderin classAbstractLogReader- Parameters:
appender- logging appender associated with this reader
-
init
public void init() throws java.lang.ExceptionDescription copied from interface:LogReaderInitialize the log reader.- Throws:
java.lang.Exception
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfacejava.util.Iterator<LogRecord>- Specified by:
hasNextin classAbstractLogReader
-
isMoreAvailable
public boolean isMoreAvailable()
Description copied from interface:LogReaderCheck if more records are available after limit is reached.- Returns:
- true if more records are available
-
next
public LogRecord next()
- Specified by:
nextin interfacejava.util.Iterator<LogRecord>- Specified by:
nextin 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.IOExceptionDescription copied from interface:LogReaderDestroy the log reader and release all used resources.- Throws:
java.io.IOException
-
getStartDate
public java.util.Date getStartDate()
Return the start date- Specified by:
getStartDatein interfaceLogReader- Overrides:
getStartDatein classAbstractLogReader- Returns:
- start date.
-
setStartDate
public void setStartDate(java.util.Date startDate)
Set start date- Specified by:
setStartDatein interfaceLogReader- Overrides:
setStartDatein classAbstractLogReader- Parameters:
startDate- The startDate to set.
-
getEndDate
public java.util.Date getEndDate()
Return the end date- Specified by:
getEndDatein interfaceLogReader- Overrides:
getEndDatein classAbstractLogReader- Returns:
- end date
-
setEndDate
public void setEndDate(java.util.Date endDate)
Set the end date- Specified by:
setEndDatein interfaceLogReader- Overrides:
setEndDatein classAbstractLogReader- Parameters:
endDate- The endDate to set.
-
getMaxDate
public java.util.Date getMaxDate()
Description copied from interface:LogReaderMax (latest) available date of the log records.- Specified by:
getMaxDatein interfaceLogReader- Overrides:
getMaxDatein classAbstractLogReader- Returns:
- maximum date
-
getMinDate
public java.util.Date getMinDate()
Description copied from interface:LogReaderMin (earliest) available date of the log records.- Specified by:
getMinDatein interfaceLogReader- Overrides:
getMinDatein classAbstractLogReader- Returns:
- minimum date
-
-