@bracketed/logger
Version:
An alternative to your run-of-the-mill node console logging functions!
2 lines • 2.19 kB
JavaScript
'use strict';var chunkUMZ4WAPA_cjs=require('../chunk-UMZ4WAPA.cjs'),index_cjs=require('../Colouring/index.cjs'),console=require('console'),util=require('util'),ILogLevel_cjs=require('./ILogger/ILogLevel.cjs'),ILoggerStyle_cjs=require('./ILogger/ILoggerStyle.cjs'),Level_cjs=require('./Level.cjs');var a=class extends ILoggerStyle_cjs.Logger{static{chunkUMZ4WAPA_cjs.a(this,"Logger");}console;formats;join;depth;prefix;constructor(e={}){super(e.level??ILogLevel_cjs.LogLevel.Info),this.join=e.join??" ",this.depth=e.depth??2,this.prefix=e.prefix??void 0,this.console=new console.Console(e.stdout??process.stdout,e.stderr??process.stderr),this.formats=this.createFormatMap(e.format,e.defaultFormat);}write(e,...r){if(e<this.level)return;let s=this.levels.get(e)??"log",i=this.formats.get(e)??this.formats.get(ILogLevel_cjs.LogLevel.None);this.console[s](i.run(this.preprocess(r)));}preprocess(e){let r={colors:index_cjs.isColorSupported,depth:this.depth};return e.map(s=>typeof s=="string"?s:util.inspect(s,r)).join(this.join)}get levels(){return Reflect.get(ILoggerStyle_cjs.Logger,"levels")}static get stylize(){return index_cjs.isColorSupported}createFormatMap(e={},r=e.none??{}){return new Map([[ILogLevel_cjs.LogLevel.Trace,this.ensureDefaultLevel(e.trace,r,index_cjs.gray,"TRACE")],[ILogLevel_cjs.LogLevel.Debug,this.ensureDefaultLevel(e.debug,r,index_cjs.magenta,"DEBUG")],[ILogLevel_cjs.LogLevel.Info,this.ensureDefaultLevel(e.info,r,index_cjs.cyan,"INFO")],[ILogLevel_cjs.LogLevel.Warn,this.ensureDefaultLevel(e.warn,r,index_cjs.yellow,"WARN")],[ILogLevel_cjs.LogLevel.Error,this.ensureDefaultLevel(e.error,r,index_cjs.red,"ERROR")],[ILogLevel_cjs.LogLevel.Fatal,this.ensureDefaultLevel(e.fatal,r,index_cjs.bgRed,"FATAL")],[ILogLevel_cjs.LogLevel.None,this.ensureDefaultLevel(e.none,r,index_cjs.white,"")]])}ensureDefaultLevel(e,r,s,i){return e?new Level_cjs.LoggerLevel(e):new Level_cjs.LoggerLevel({...r,timestamp:r.timestamp===null?null:{...r.timestamp??{},color:s},infix:i.length?`${s(i.padEnd(5," "))} - ${this.prefix?`${this.prefix} - `:""}`:`${this.prefix?`${this.prefix} - `:""}`})}};exports.Logger=a;//# sourceMappingURL=Logger.cjs.map
//# sourceMappingURL=Logger.cjs.map