@tsed/logger-connect
Version:
Connect Ts.ED logger with another logger that implement the expected interface
32 lines (22 loc) • 718 B
text/typescript
import {Appender, BaseAppender, LogEvent} from "@tsed/logger";
export interface ConnectLogger {
debug?(log: any): any;
info?(log: any): any;
warn?(log: any): any;
error?(log: any): any;
fatal?(log: any): any;
trace?(log: any): any;
}
export interface ConnectAppenderOpts {
logger: ConnectLogger;
}
({name: "connect", defaultLayout: "object"})
export class ConnectAppender extends BaseAppender<ConnectAppenderOpts> {
write(loggingEvent: LogEvent) {
const level = loggingEvent.level.toString().toLowerCase();
const {logger} = this.config.options;
if ((logger as any)[level]) {
(logger as any)[level](this.layout(loggingEvent, this.config.timezoneOffset));
}
}
}