insomnia/app/sync/logger.js
2016-11-08 19:18:25 -08:00

39 lines
671 B
JavaScript

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});
}
}