UNPKG

bitcore-wallet-client

Version:
116 lines 3.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const DEFAULT_LOG_LEVEL = 'silent'; const levels = { silent: -1, debug: 0, info: 1, log: 2, warn: 3, error: 4, fatal: 5 }; class Logger { constructor(name) { this.level = DEFAULT_LOG_LEVEL; this.name = name || 'log'; for (const [levelName, level] of Object.entries(levels)) { if (levelName === 'silent') { continue; } this[levelName] = function (...args) { if (this.level === 'silent') return; if (level >= levels[this.level]) { let caller; if (Error.stackTraceLimit && this.level == 'debug') { const old = Error.stackTraceLimit; Error.stackTraceLimit = 2; let stack; try { console.trace(); } catch (e) { stack = e.stack; } if (stack) { const lines = stack.split('\n'); caller = lines[2]; caller = ':' + caller.substr(6); } Error.stackTraceLimit = old; } let str = '[' + levelName + (caller || '') + '] ' + args[0]; const extraArgs = args.slice(1); if (console[levelName]) { extraArgs.unshift(str); console[levelName].apply(console, extraArgs); } else { if (extraArgs.length) { str += JSON.stringify(extraArgs); } console.log(str); } } }; } } static getLevels() { return levels; } getLevels() { return Logger.getLevels(); } setLevel(level) { this.level = level; return this; } _baseLog(levelName, ...args) { if (this.level === 'silent') return; const level = levels[levelName]; if (level >= levels[this.level]) { let caller; if (Error.stackTraceLimit && this.level == 'debug') { const old = Error.stackTraceLimit; Error.stackTraceLimit = 2; let stack; try { console.trace(); } catch (e) { stack = e.stack; } if (stack) { const lines = stack.split('\n'); caller = lines[2]; caller = ':' + caller.substr(6); } Error.stackTraceLimit = old; } let str = '[' + levelName + (caller || '') + '] ' + args[0]; const extraArgs = args.slice(1); if (console[levelName]) { extraArgs.unshift(str); console[levelName].apply(console, extraArgs); } else { if (extraArgs.length) { str += JSON.stringify(extraArgs); } console.log(str); } } return this; } debug(...args) { return this._baseLog('debug', ...args); } info(...args) { return this._baseLog('info', ...args); } log(...args) { return this._baseLog('log', ...args); } warn(...args) { return this._baseLog('warn', ...args); } error(...args) { return this._baseLog('error', ...args); } fatal(...args) { return this._baseLog('fatal', ...args); } } ; exports.default = new Logger('copay'); //# sourceMappingURL=log.js.map