node-logger-light
Version:
An advanced logging library for Node.js with support for different log levels, file logging, and external services integration.
31 lines (30 loc) • 869 B
JavaScript
import winston from 'winston';
import { ConsoleTransport } from './transports/ConsoleTransport';
import { FileTransport } from './transports/FileTransport';
export class Logger {
constructor(options) {
const transports = [new ConsoleTransport(options.logLevel)];
if (options.logToFile && options.filePath) {
transports.push(new FileTransport(options.filePath, options.logLevel));
}
this.logger = winston.createLogger({
level: options.logLevel,
transports,
});
}
log(level, message) {
this.logger.log(level, message);
}
info(message) {
this.log('info', message);
}
warn(message) {
this.log('warn', message);
}
error(message) {
this.log('error', message);
}
debug(message) {
this.log('debug', message);
}
}