Logger Interface
Typescript interface that provides standard logging levels debug
, info
, warn
, error
, and fatal
.
interface Logger {
debug: LogMethod;
info: LogMethod;
warn: LogMethod;
error: LogMethod;
fatal: LogMethod;
}
interface LogMethod {
(...data: Array<any>): void;
}
Arguments are untyped to provide freedom of choice for implementors.
An extension of Logger
that contains a child method is provided for implementors that expose this method. Usually the
opts
object contains a set of fields that are added as fields to each logging entry done by the child logger. It may
also serve to set the minimum log level.
interface HierarchicalLogger extends Logger {
child(opts: any): HierarchicalLogger;
}
A default implementation named NoLogger
is provided for testing purposes.