UNPKG

node-logger-light

Version:

An advanced logging library for Node.js with support for different log levels, file logging, and external services integration.

47 lines (36 loc) 1.06 kB
import winston from 'winston'; import { ConsoleTransport } from './transports/ConsoleTransport'; import { FileTransport } from './transports/FileTransport'; interface LoggerOptions { logLevel: 'info' | 'warn' | 'error' | 'debug'; logToFile: boolean; filePath?: string; } export class Logger { private logger: winston.Logger; constructor(options: LoggerOptions) { const transports: winston.transport[] = [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: 'info' | 'warn' | 'error' | 'debug', message: string) { this.logger.log(level, message); } info(message: string) { this.log('info', message); } warn(message: string) { this.log('warn', message); } error(message: string) { this.log('error', message); } debug(message: string) { this.log('debug', message); } }