Package org.eclipse.rdf4j.common.logging.file.logback

## Class MultipleFileLogReader

- java.lang.Object
- - org.eclipse.rdf4j.common.logging.base.AbstractLogReader
  - - org.eclipse.rdf4j.common.logging.file.logback.MultipleFileLogReader

- All Implemented Interfaces:
    `Iterator<LogRecord>`, `LogReader`

      public class MultipleFileLogReader
      extends AbstractLogReader
      implements LogReader

  Date range-enabled wrapper for FileLogReader. Reads multiple log files chunked by dates as a single log.
  Author:
    alex

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MultipleFileLogReader.DateRangeFilenameFilter` | Custom filename filter

  - ### 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.
    `Date` | `getEndDate()` | Return the end date
    `Date` | `getMaxDate()` | Max (latest) available date of the log records.
    `Date` | `getMinDate()` | Min (earliest) available date of the log records.
    `Date` | `getStartDate()` | Return the start date
    `boolean` | `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​(Date endDate)` | Set the end date
    `void` | `setStartDate​(Date startDate)` | Set start date
    `boolean` | `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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining, remove`

    - ### Methods inherited from interface org.eclipse.rdf4j.common.logging.LogReader

      `getAppender, getLevel, getLimit, getOffset, getThread, getThreadNames, setLevel, setLimit, setOffset, setThread, supportsLevelFilter, supportsThreadFilter`

- - ### Constructor Detail

    - #### MultipleFileLogReader

          public MultipleFileLogReader()

  - ### 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 interface `LogReader`
      Overrides:
        `supportsDateRanges` in class `AbstractLogReader`
      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 interface `LogReader`
      Overrides:
        `setAppender` in class `AbstractLogReader`
      Parameters:
        `appender` - logging appender associated with this reader

    - #### init

          public void init()
                    throws Exception

      Description copied from interface: `LogReader`
      Initialize the log reader.
      Specified by:
        `init` in interface `LogReader`
      Throws:
        `Exception`

    - #### hasNext

          public boolean hasNext()

      Specified by:
        `hasNext` in interface `Iterator<LogRecord>`
      Specified by:
        `hasNext` in class `AbstractLogReader`

    - #### isMoreAvailable

          public boolean isMoreAvailable()

      Description copied from interface: `LogReader`
      Check if more records are available after limit is reached.
      Specified by:
        `isMoreAvailable` in interface `LogReader`
      Returns:
        true if more records are available

    - #### next

          public LogRecord next()

      Specified by:
        `next` in interface `Iterator<LogRecord>`
      Specified by:
        `next` in class `AbstractLogReader`

    - #### destroy

          public void destroy()
                       throws IOException

      Description copied from interface: `LogReader`
      Destroy the log reader and release all used resources.
      Specified by:
        `destroy` in interface `LogReader`
      Throws:
        `IOException`

    - #### getStartDate

          public Date getStartDate()

      Return the start date
      Specified by:
        `getStartDate` in interface `LogReader`
      Overrides:
        `getStartDate` in class `AbstractLogReader`
      Returns:
        start date.

    - #### setStartDate

          public void setStartDate​(Date startDate)

      Set start date
      Specified by:
        `setStartDate` in interface `LogReader`
      Overrides:
        `setStartDate` in class `AbstractLogReader`
      Parameters:
        `startDate` - The startDate to set.

    - #### getEndDate

          public Date getEndDate()

      Return the end date
      Specified by:
        `getEndDate` in interface `LogReader`
      Overrides:
        `getEndDate` in class `AbstractLogReader`
      Returns:
        end date

    - #### setEndDate

          public void setEndDate​(Date endDate)

      Set the end date
      Specified by:
        `setEndDate` in interface `LogReader`
      Overrides:
        `setEndDate` in class `AbstractLogReader`
      Parameters:
        `endDate` - The endDate to set.

    - #### getMaxDate

          public Date getMaxDate()

      Description copied from interface: `LogReader`
      Max (latest) available date of the log records.
      Specified by:
        `getMaxDate` in interface `LogReader`
      Overrides:
        `getMaxDate` in class `AbstractLogReader`
      Returns:
        maximum date

    - #### getMinDate

          public Date getMinDate()

      Description copied from interface: `LogReader`
      Min (earliest) available date of the log records.
      Specified by:
        `getMinDate` in interface `LogReader`
      Overrides:
        `getMinDate` in class `AbstractLogReader`
      Returns:
        minimum date