@triviality/logger
Version:
Typescript loggers with an interface that support composition
21 lines (15 loc) • 640 B
text/typescript
import { LoggerInterface, LogLevel } from './LoggerInterface';
import { AbstractLogLevelLogger } from './AbstractLogLevelLogger';
export class PostfixLogger extends AbstractLogLevelLogger implements LoggerInterface {
public static with(logger: LoggerInterface,
postfix: string): LoggerInterface {
return new this(logger, postfix);
}
constructor(private readonly logger: LoggerInterface,
private readonly postfix: string) {
super();
}
public log(level: LogLevel, message?: any, ...optionalParams: any[]) {
this.logger.log(level, message + this.postfix, ...optionalParams);
}
}