UNPKG

@stringsync/vexml

Version:

MusicXML to Vexflow

31 lines (30 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MemoryLogger = void 0; class MemoryLogger { logs = new Array(); getLogs() { return this.logs; } debug(message, meta) { this.logs.push({ level: 'debug', message, meta: { callsite: this.getCallsite(), ...meta } }); } info(message, meta) { this.logs.push({ level: 'info', message, meta: { callsite: this.getCallsite(), ...meta } }); } warn(message, meta) { this.logs.push({ level: 'warn', message, meta: { callsite: this.getCallsite(), ...meta } }); } error(message, meta) { this.logs.push({ level: 'error', message, meta: { callsite: this.getCallsite(), ...meta } }); } getCallsite() { const stack = new Error().stack; if (!stack) return ''; const stackLines = stack.split('\n'); // Return the third line which is the callsite return stackLines[3] ? stackLines[3].trim() : ''; } } exports.MemoryLogger = MemoryLogger;