diary
Version:
Fast effective logging library for both Node, the Browser, and Workers!
1 lines • 772 B
JavaScript
var e=[],a=e=>new RegExp(e.replace(/\*/g,".*")+"$"),r=r=>{e=r.split(/[\s,]+/).map(a)};var s=(a,r,s,...l)=>{for(let n=e.length;n--;)if(e[n].test(a))return r({name:a,level:s,messages:l})},l=e=>{let a="";const r=console["fatal"===e.level?"error":e.level];if(e.name&&(a+=`[${e.name}] `),"object"==typeof e.messages[0])r(a,...e.messages);else{r(a+e.messages.shift(),...e.messages)}},n=(e,a)=>({fatal:s.bind(0,e,a=a||l,"fatal"),error:s.bind(0,e,a,"error"),warn:s.bind(0,e,a,"warn"),debug:s.bind(0,e,a,"debug"),info:s.bind(0,e,a,"info"),log:s.bind(0,e,a,"log")}),o=n(""),t=o.fatal,g=o.error,i=o.warn,f=o.debug,b=o.info,d=o.log;exports.debug=f;exports.default_reporter=l;exports.diary=n;exports.enable=r;exports.error=g;exports.fatal=t;exports.info=b;exports.log=d;exports.warn=i;