UNPKG

file-error-logging

Version:

Log your errors directly to the console and to a .log file

28 lines (27 loc) 818 B
"use strict"; class LogStore { constructor() { this.logs = []; } addLog(level, message, context) { this.logs.push({ level, message, timestamp: new Date(), context }); } query(filter) { return this.logs.filter(log => { if (filter.level && log.level !== filter.level) return false; if (filter.since && log.timestamp < filter.since) return false; if (filter.context && !this.matchesContext(log.context, filter.context)) return false; return true; }); } matchesContext(logContext, filterContext) { for (const key in filterContext) { if (logContext[key] !== filterContext[key]) return false; } return true; } }