@triviality/logger
Version:
Typescript loggers with an interface that support composition
17 lines (12 loc) • 484 B
text/typescript
import { LoggerInterface, LogLevel } from './LoggerInterface';
import { AbstractLogLevelLogger } from './AbstractLogLevelLogger';
export class CollectionLogger extends AbstractLogLevelLogger implements LoggerInterface {
constructor(private readonly loggers: LoggerInterface[]) {
super();
}
public log(type: LogLevel, message: any, ...optionalParams: any[]): void {
for (const logger of this.loggers) {
logger.log(type, message, ...optionalParams);
}
}
}