UNPKG

@iota-big3/sdk-security

Version:

Advanced security features including zero trust, quantum-safe crypto, and ML threat detection

96 lines 2.5 kB
"use strict"; /** * Logger Adapter for SDK Security * Adapts various logger implementations to match our SecurityLoggerContract */ Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggerAdapter = void 0; exports.createConsoleLogger = createConsoleLogger; class LoggerAdapter { constructor(logger) { this.logger = logger; } /** * Log info message */ info(message, meta) { if (this.logger.info) { this.logger.info(message, meta); } else if (this.logger.log) { this.logger.log('info', message, meta); } else { console.info(message, meta); } } /** * Log warning message */ warn(message, meta) { if (this.logger.warn) { this.logger.warn(message, meta); } else if (this.logger.warning) { this.logger.warning(message, meta); } else if (this.logger.log) { this.logger.log('warn', message, meta); } else { console.warn(message, meta); } } /** * Log error message */ error(message, meta) { if (this.logger.error) { this.logger.error(message, meta); } else if (this.logger.log) { this.logger.log('error', message, meta); } else { console.error(message, meta); } } /** * Log debug message */ debug(message, meta) { if (this.logger.debug) { this.logger.debug(message, meta); } else if (this.logger.log) { this.logger.log('debug', message, meta); } else { console.debug(message, meta); } } /** * Create child logger */ child(context) { if (this.logger.child) { return new LoggerAdapter(this.logger.child(context)); } // Fallback: return self if child not supported return this; } } exports.LoggerAdapter = LoggerAdapter; /** * Create a default console logger */ function createConsoleLogger() { return { info: (message, meta) => console.info(message, meta), warn: (message, meta) => console.warn(message, meta), error: (message, meta) => console.error(message, meta), debug: (message, meta) => console.debug(message, meta), child: () => createConsoleLogger() }; } //# sourceMappingURL=logger.adapter.js.map