UNPKG

genius-bridge-sdk

Version:
108 lines 3.25 kB
"use strict"; /* eslint-disable @typescript-eslint/no-explicit-any */ Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = exports.LoggerFactory = exports.PinoLogger = exports.WinstonLogger = exports.ConsoleLogger = exports.NoOpLogger = exports.LogLevelEnum = void 0; var LogLevelEnum; (function (LogLevelEnum) { LogLevelEnum[LogLevelEnum["NONE"] = 0] = "NONE"; LogLevelEnum[LogLevelEnum["ERROR"] = 1] = "ERROR"; LogLevelEnum[LogLevelEnum["WARN"] = 2] = "WARN"; LogLevelEnum[LogLevelEnum["INFO"] = 3] = "INFO"; LogLevelEnum[LogLevelEnum["DEBUG"] = 4] = "DEBUG"; })(LogLevelEnum || (exports.LogLevelEnum = LogLevelEnum = {})); // Default no-op logger (silent) class NoOpLogger { debug() { } info() { } warn() { } error() { } } exports.NoOpLogger = NoOpLogger; // Simple console logger for debugging class ConsoleLogger { constructor(options = {}) { this._level = options.level ?? LogLevelEnum.NONE; } debug(message, meta) { if (this._level >= LogLevelEnum.DEBUG) { console.debug(`[DEBUG] ${message}`, meta); } } info(message, meta) { if (this._level >= LogLevelEnum.INFO) { console.info(`[INFO] ${message}`, meta); } } warn(message, meta) { if (this._level >= LogLevelEnum.WARN) { console.warn(`[WARN] ${message}`, meta); } } error(message, error, meta) { if (this._level >= LogLevelEnum.ERROR) { console.error(`[ERROR] ${message}`, error, meta); } } } exports.ConsoleLogger = ConsoleLogger; // Winston adapter class WinstonLogger { constructor(winstonInstance) { this._logger = winstonInstance; } debug(message, meta) { this._logger.debug(message, meta); } info(message, meta) { this._logger.info(message, meta); } warn(message, meta) { this._logger.warn(message, meta); } error(message, error, meta) { this._logger.error(message, { error, ...meta }); } } exports.WinstonLogger = WinstonLogger; // Pino adapter class PinoLogger { constructor(pinoInstance) { this._logger = pinoInstance; } debug(message, meta) { this._logger.debug(meta, message); } info(message, meta) { this._logger.info(meta, message); } warn(message, meta) { this._logger.warn(meta, message); } error(message, error, meta) { this._logger.error({ err: error, ...meta }, message); } } exports.PinoLogger = PinoLogger; // SDK logging configuration class LoggerFactory { static getLogger() { return LoggerFactory._instance; } static configure(logger) { LoggerFactory._instance = logger; } static createConsoleLogger(options) { return new ConsoleLogger(options); } static createWinstonLogger(winston) { return new WinstonLogger(winston); } static createPinoLogger(pino) { return new PinoLogger(pino); } } exports.LoggerFactory = LoggerFactory; LoggerFactory._instance = new NoOpLogger(); // Export a default logger instance (no-op by default) exports.logger = LoggerFactory.getLogger(); //# sourceMappingURL=logger.js.map