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:
LoggerDispatcher, PartedLogger, PartedQueryLogger, PartedTrimLogger, QueryLoggerDispatcher, SystemLogger, TrimLoggerDispatcher

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 Details

    • log

      void log(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.