src/logger/Logger.ts
import winston from 'winston';
import LogLevels from './LogLevels';
import { ILogger } from './ILogger';
export default class Logger implements ILogger {
// sets log level for the package
private logLevel: LogLevels = LogLevels.debug;
private loggerObj: winston.Logger;
constructor(options: {
logLevel?: LogLevels;
}) {
if (options.logLevel !== undefined) {
this.logLevel = options.logLevel;
}
this.loggerObj = winston.createLogger({
level: this.logLevel,
format: winston.format.json(),
transports: [
new winston.transports.Console(),
],
});
}
log(message: string, meta?: any): void {
this.loggerObj.log(this.logLevel, message, meta);
}
}