-
- Type Parameters:
T- The type of theRecordinstances managed by theLogger.
- All Superinterfaces:
LogDecorator
- All Known Subinterfaces:
QueryLogger<T>,TrimLogger<T>
- All Known Implementing Classes:
CompositeLoggerImpl,CompositeQueryLoggerImpl,CompositeTrimLoggerImpl,PartedLoggerImpl,PartedQueryLoggerImpl,PartedTrimLoggerImpl,SystemLogger
public interface Logger<T> extends LogDecorator
TheLoggerinterface defines those methods required for an atomic (sub-)logger to implement. Specialized loggers may make use ofLoggerimplementations; for example theRuntimeLoggercan be configured to log to a console, a NoSQL database or a file depending on how it is configured (on whichLoggerimplementation it is told to use).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidlog(org.refcodes.tabular.Record<? extends T> aRecord)Logs aRecord.-
Methods inherited from interface org.refcodes.logger.LogDecorator
printHead, printSeparator, printTail
-
-
-
-
Method Detail
-
log
void log(org.refcodes.tabular.Record<? extends T> aRecord) throws IllegalRecordRuntimeException, UnexpectedLogRuntimeException
Logs aRecord. The targeted data sink for theRecordinstances (where them are physically stored) depends on the implementation of theLogger. It can be a console, a file, a stream or a database.- Parameters:
aRecord- TheRecordto be logged.- Throws:
IllegalRecordRuntimeException- Thrown in case the record cannot be logged as a specific implementation might expect some dedicatedColumninstances 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.
-
-