Interface Logger<T>

Type Parameters:
T - The type of the Record instances managed by the Logger.
All Superinterfaces:
LogDecorator
All Known Subinterfaces:
QueryLogger<T>, TrimLogger<T>
All Known Implementing Classes:
LoggerComposite, PartedLogger, PartedQueryLogger, PartedTrimLogger, QueryLoggerComposite, SystemLogger, TrimLoggerComposite

public interface Logger<T> extends LogDecorator
The Logger interface defines those methods required for an atomic (sub-)logger to implement. Specialized loggers may make use of Logger implementations; for example the RuntimeLogger can be configured to log to a console, a NoSQL database or a file depending on how it is configured (on which Logger implementation it is told to use).
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    log(org.refcodes.tabular.Record<? extends T> aRecord)
    Logs a Record.

    Methods inherited from interface org.refcodes.logger.LogDecorator

    printHead, printSeparator, printTail
  • Method Details

    • log

      void log(org.refcodes.tabular.Record<? extends T> aRecord)
      Logs a Record. The targeted data sink for the Record instances (where them are physically stored) depends on the implementation of the Logger. It can be a console, a file, a stream or a database.
      Parameters:
      aRecord - The Record to be logged.
      Throws:
      IllegalRecordRuntimeException - Thrown in case the record cannot be logged as a specific implementation might expect some dedicated Column instances to be contained in the provided Record.
      UnexpectedLogRuntimeException - Thrown in case some other problems regarding logging occurred, e.g. the data sink (physical system where to log to) experiences problems.