export default class Logger { constructor() { this._logs = []; } debug(message, ...args) { this._log('debug', message, ...args); } warn(message, ...args) { this._log('warn', message, ...args); } error(message, ...args) { this._log('error', message, ...args); } tail() { return this._logs; } /** @private */ _log(type, message, ...args) { let fn; if (type === 'debug') { fn = 'log'; } else if (type === 'warn') { fn = 'warn'; } else { fn = 'error'; } console[fn](`[sync] ${message}`, ...args); const date = new Date(); this._logs.push({ type, date, message }); } }