@wing-logger/logger
Version:
2 lines (1 loc) • 1.95 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e,l=require("@wing-tool/date-tool");exports.Level=void 0,(e=exports.Level||(exports.Level={}))[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";const r=new Map([[exports.Level.Off,"OFF"],[exports.Level.Fatal,"FATAL"],[exports.Level.Error,"ERROR"],[exports.Level.Warn,"WARN"],[exports.Level.Info,"INFO"],[exports.Level.Debug,"DEBUG"],[exports.Level.Trace,"TRACE"],[exports.Level.All,"ALL"]]);class o{category;loggerLevel;static globalLevel=exports.Level.All;appenders=[];get level(){return this.loggerLevel}constructor(e="default",l=exports.Level.All){this.category=e,this.loggerLevel=l}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 l=exports.Level.Fatal;this.level>=l&&o.globalLevel>=l&&this.log(l,...e)}error(...e){const l=exports.Level.Error;this.level>=l&&o.globalLevel>=l&&this.log(l,...e)}warn(...e){const l=exports.Level.Warn;this.level>=l&&o.globalLevel>=l&&this.log(l,...e)}info(...e){const l=exports.Level.Info;this.level>=l&&o.globalLevel>=l&&this.log(l,...e)}debug(...e){const l=exports.Level.Debug;this.level>=l&&o.globalLevel>=l&&this.log(l,...e)}trace(...e){const l=exports.Level.Trace;this.level>=l&&o.globalLevel>=l&&this.log(l,...e)}log(e,...l){this.level<=exports.Level.Off||this.appenders.forEach((r=>r.execute(e,...l)))}}exports.ConsoleAppender=class{logger;constructor(e){this.logger=e}execute(e,...o){const t=`[${l.format(new Date)}] [${this.logger.category}] [${r.get(e)}] ${o.map((e=>JSON.stringify(e))).join(" ")}`;switch(e){case exports.Level.Fatal:case exports.Level.Error:console.error(t);break;case exports.Level.Warn:console.warn(t);break;default:console.log(t)}}},exports.Logger=o,exports.default=o,exports.levelMap=r;