- Type Parameters:
T- The type of the
Recordinstances managed by the
- All Known Implementing Classes:
public interface Logger<T>The
Loggerinterface defines those methods required for an atomic (sub-)logger to implement. Specialized loggers may make use of
Loggerimplementations; for example the
RuntimeLoggercan be configured to log to a console, a NoSQL database or a file depending on how it is configured (on which
Loggerimplementation it is told to use).
void log(org.refcodes.tabular.Record<? extends T> aRecord) throws IllegalRecordRuntimeException, UnexpectedLogRuntimeExceptionLogs a
Record. The targeted data sink for the
Recordinstances (where them are physically stored) depends on the implementation of the
Logger. It can be a console, a file, a stream or a database.
Recordto be logged.
IllegalRecordRuntimeException- Thrown in case the record cannot be logged as a specific implementation might expect some dedicated
Columninstances 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.
default void printSeparator()Prints a separator line in case the underlying
Loggersupports the such. A separator line may be printed just as of beautifying purposes and does not belong to the actual log's data. Therefore this method may just do nothing, depending on the implementing class.