UNPKG

@bracketed/logger

Version:

An alternative to your run-of-the-mill node console logging functions!

1 lines 3.11 kB
{"version":3,"sources":["../../../../src/Logger/ILogger/ILoggerStyle.ts"],"names":["Logger","a","level","has","trace","write","LogLevel","Trace","debug","Debug","info","Info","warn","Warn","error","Error","fatal","Fatal","levels","get","method","console","toUpperCase"],"mappings":"gFAIaA,IAAN,QAHPC,GAAA,CAAA,OAGaD,CAAAA,CAAAA,IAAAA,CAAAA,QACLE,EAAAA,CAAAA,KAEP,CAAA,WAAmBA,CAAiB,CACnC,CAAA,CAAA,IAAKA,CAAAA,KACN,CAEOC,MAAID,CAA0B,CACpC,CAAA,CAAA,OAAOA,CAAS,MAAKA,CAAAA,KAGfE,CAAAA,KAAAA,CAAAA,GAA2C,CACjD,CAAA,CAAA,IAAKC,CAAAA,KAAMC,CAASC,QAAAA,CAAAA,SACrB,CAEOC,EAAAA,CAAAA,KAAAA,CAAAA,GAA2C,CACjD,CAAA,CAAA,IAAKH,CAAAA,KAAMC,CAASG,cAAK,CAAA,GAC1B,CAEOC,WAA0C,CAChD,CAAA,CAAA,IAAKL,CAAAA,MAAeM,QAAAA,CAAAA,IAAI,CAAA,GACzB,CAEOC,EAAAA,CAAAA,IAAAA,CAAAA,GAA0C,CAChD,CAAA,CAAA,UAAWN,CAASO,QAAAA,CAAAA,IAAI,CAAA,GACzB,CAEOC,EAAAA,CAAAA,KAAAA,CAAAA,GAA2C,CACjD,MAAKT,CAAAA,KAAMC,CAASS,QAAAA,CAAAA,KAAK,CAAA,GAC1B,CAEOC,EAAAA,CAAAA,KAAAA,CAAAA,GAA2C,CACjD,CAAA,CAAA,IAAKX,CAAAA,KAAMC,CAASW,QAAAA,CAAAA,SACrB,CAEOZ,EAAAA,CAAAA,WAA4D,CAClE,CAAA,CAAA,QAAUF,CAAAA,GAAID,CAAAA,CAAQ,CAAA,CAAA,WACPF,CAAAA,CAAOkB,GAAAA,CAAAA,MAAOC,CAAAA,GAAIjB,CAAAA,CAC7B,CAAA,CAAA,OAAOkB,CAAW,EAAA,QAAUC,SAAQD,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAIA,EAAOE,aAAW,EAAA,CAAA,CAAK,CAAA,CAAA,GAC5E,CAEA,EAAA,CAAA,OAA0BJ,MAAS,CAAA,OAClC,CAACZ,CAAAA,CAASC,QAAAA,CAAAA,aACV,CAACD,CAAAA,CAASG,QAAAA,CAAAA,KAAO,CAAA,OACjB,CAACH,CAAAA,CAASK,QAAAA,CAAAA,IAAM,CAAA,MAChB,CAACL,EAASO,QAAAA,CAAAA,IAAM,CAAA,MAChB,CAACP,CAAAA,CAASS,cAAO,CAAA,OACjB,CAACT,CAAAA,CAASW,QAAAA,CAAAA,aACV,CACF,CAAA,CAAA","file":"ILoggerStyle.mjs","sourcesContent":["import { type ILogger } from './ILogger';\nimport { LogLevel } from './ILogLevel';\nimport type { LogMethods } from './ILogMethods';\n\nexport class Logger implements ILogger {\n\tpublic level: LogLevel;\n\n\tpublic constructor(level: LogLevel) {\n\t\tthis.level = level;\n\t}\n\n\tpublic has(level: LogLevel): boolean {\n\t\treturn level >= this.level;\n\t}\n\n\tpublic trace(...values: readonly unknown[]): void {\n\t\tthis.write(LogLevel.Trace, ...values);\n\t}\n\n\tpublic debug(...values: readonly unknown[]): void {\n\t\tthis.write(LogLevel.Debug, ...values);\n\t}\n\n\tpublic info(...values: readonly unknown[]): void {\n\t\tthis.write(LogLevel.Info, ...values);\n\t}\n\n\tpublic warn(...values: readonly unknown[]): void {\n\t\tthis.write(LogLevel.Warn, ...values);\n\t}\n\n\tpublic error(...values: readonly unknown[]): void {\n\t\tthis.write(LogLevel.Error, ...values);\n\t}\n\n\tpublic fatal(...values: readonly unknown[]): void {\n\t\tthis.write(LogLevel.Fatal, ...values);\n\t}\n\n\tpublic write(level: LogLevel, ...values: readonly unknown[]): void {\n\t\tif (!this.has(level)) return;\n\t\tconst method = Logger.levels.get(level);\n\t\tif (typeof method === 'string') console[method](`[${method.toUpperCase()}]`, ...values);\n\t}\n\n\tprotected static readonly levels = new Map<LogLevel, LogMethods>([\n\t\t[LogLevel.Trace, 'trace'],\n\t\t[LogLevel.Debug, 'debug'],\n\t\t[LogLevel.Info, 'info'],\n\t\t[LogLevel.Warn, 'warn'],\n\t\t[LogLevel.Error, 'error'],\n\t\t[LogLevel.Fatal, 'error'],\n\t]);\n}\n"]}