UNPKG

@wing-logger/logger

Version:
2 lines (1 loc) 1.62 kB
import e from"@wing-tool/date-tool";var l;!function(e){e[e.Off=0]="Off",e[e.Fatal=1]="Fatal",e[e.Error=2]="Error",e[e.Warn=3]="Warn",e[e.Info=4]="Info",e[e.Debug=5]="Debug",e[e.Trace=6]="Trace",e[e.All=7]="All"}(l||(l={}));const o=new Map([[l.Off,"OFF"],[l.Fatal,"FATAL"],[l.Error,"ERROR"],[l.Warn,"WARN"],[l.Info,"INFO"],[l.Debug,"DEBUG"],[l.Trace,"TRACE"],[l.All,"ALL"]]);class r{category;loggerLevel;static globalLevel=l.All;appenders=[];get level(){return this.loggerLevel}constructor(e="default",o=l.All){this.category=e,this.loggerLevel=o}setLevel(e){this.loggerLevel=e}addAppender(e){this.addAppenders([e])}addAppenders(e){e.forEach((e=>{this.appenders.includes(e)||this.appenders.push(e)}))}fatal(...e){const o=l.Fatal;this.level>=o&&r.globalLevel>=o&&this.log(o,...e)}error(...e){const o=l.Error;this.level>=o&&r.globalLevel>=o&&this.log(o,...e)}warn(...e){const o=l.Warn;this.level>=o&&r.globalLevel>=o&&this.log(o,...e)}info(...e){const o=l.Info;this.level>=o&&r.globalLevel>=o&&this.log(o,...e)}debug(...e){const o=l.Debug;this.level>=o&&r.globalLevel>=o&&this.log(o,...e)}trace(...e){const o=l.Trace;this.level>=o&&r.globalLevel>=o&&this.log(o,...e)}log(e,...o){this.level<=l.Off||this.appenders.forEach((l=>l.execute(e,...o)))}}class t{logger;constructor(e){this.logger=e}execute(r,...t){const a=`[${e.format(new Date)}] [${this.logger.category}] [${o.get(r)}] ${t.map((e=>JSON.stringify(e))).join(" ")}`;switch(r){case l.Fatal:case l.Error:console.error(a);break;case l.Warn:console.warn(a);break;default:console.log(a)}}}export{t as ConsoleAppender,l as Level,r as Logger,r as default,o as levelMap};