UNPKG

redis-smq-common

Version:

RedisSMQ Common Library provides many components that are mainly used by RedisSMQ and RedisSMQ Monitor.

59 lines 2.17 kB
import { ConsoleMessageFormatter } from './console-message-formatter.js'; import { EConsoleLoggerLevel } from './types/index.js'; export class ConsoleLogger { logLevel; formatter; constructor(options = {}) { const { includeTimestamp = true, colorize = true, logLevel = EConsoleLoggerLevel.INFO, dateFormat, } = options; this.logLevel = typeof logLevel === 'number' ? logLevel : EConsoleLoggerLevel[logLevel]; this.formatter = new ConsoleMessageFormatter({ includeTimestamp, colorize, dateFormat, }); } shouldLog(level) { return level >= this.logLevel; } isFormatted(message) { return this.formatter.isFormatted(message); } debug(message, ...params) { if (!this.shouldLog(EConsoleLoggerLevel.DEBUG)) return; if (this.isFormatted(message)) { return console.debug(message, ...params); } const formattedMessage = this.formatter.format('DEBUG', message); console.debug(formattedMessage, ...params); } error(message, ...params) { if (!this.shouldLog(EConsoleLoggerLevel.ERROR)) return; if (this.isFormatted(message)) { return console.error(message, ...params); } const formattedMessage = this.formatter.format('ERROR', message); console.error(formattedMessage, ...params); } info(message, ...params) { if (!this.shouldLog(EConsoleLoggerLevel.INFO)) return; if (this.isFormatted(message)) { return console.info(message, ...params); } const formattedMessage = this.formatter.format('INFO', message); console.info(formattedMessage, ...params); } warn(message, ...params) { if (!this.shouldLog(EConsoleLoggerLevel.WARN)) return; if (this.isFormatted(message)) { return console.warn(message, ...params); } const formattedMessage = this.formatter.format('WARN', message); console.warn(formattedMessage, ...params); } } //# sourceMappingURL=console-logger.js.map