UNPKG

@hashgraph/hedera-wallet-connect

Version:

A library to facilitate integrating Hedera with WalletConnect

64 lines (63 loc) 2.11 kB
var _a; export class DefaultLogger { constructor(logLevel = 'info', name) { this.logLevel = 'info'; this.logLevel = logLevel; this.name = name || 'Logger'; } setLogLevel(level) { this.logLevel = level; } getLogLevel() { return this.logLevel; } error(message, ...args) { if (['error', 'warn', 'info', 'debug'].includes(this.logLevel)) { console.error(`[ERROR - ${this.name}] ${message}`, ...args); } } warn(message, ...args) { if (['warn', 'info', 'debug'].includes(this.logLevel)) { console.warn(`[WARN - ${this.name}] ${message}`, ...args); } } info(message, ...args) { if (['info', 'debug'].includes(this.logLevel)) { console.info(`[INFO - ${this.name}] ${message}`, ...args); } } debug(message, ...args) { if (this.logLevel === 'debug') { console.debug(`[DEBUG - ${this.name}] ${message}`, ...args); } } } // Global logger configuration let globalLogLevel = 'info'; // Check if environment variable is set if (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.HWC_LOG_LEVEL)) { const envLevel = process.env.HWC_LOG_LEVEL.toLowerCase(); if (['error', 'warn', 'info', 'debug', 'off'].includes(envLevel)) { globalLogLevel = envLevel; } } // Check if localStorage is available (browser environment) if (typeof localStorage !== 'undefined') { const storedLevel = localStorage.getItem('hwc_log_level'); if (storedLevel && ['error', 'warn', 'info', 'debug', 'off'].includes(storedLevel)) { globalLogLevel = storedLevel; } } export function setGlobalLogLevel(level) { globalLogLevel = level; if (typeof localStorage !== 'undefined') { localStorage.setItem('hwc_log_level', level); } } export function getGlobalLogLevel() { return globalLogLevel; } // Factory function to create logger instances export function createLogger(name, level) { return new DefaultLogger(level || globalLogLevel, name); }