bugfix, require type mappings to have a log level

This commit is contained in:
Erik 2023-11-03 22:53:13 +02:00
parent 127bc40ba6
commit 6b8692e63a
2 changed files with 9 additions and 7 deletions

View File

@ -46,16 +46,19 @@ class LoggerClient implements Logger
const { customTypes = [] } = opts;
this.#types = [ ...customTypes, ...Defaults.Types ];
for (const type of this.#types)
this.#_logLevelMapping = { ...Defaults.ClientOptions.logLevelMapping, ...opts.logLevelMapping };
this.#_guard = opts.guard || Defaults.ClientOptions.guard as string;
this.#_logLevel = opts.logLevel ?? Defaults.ClientOptions.logLevel as number;
for (const type of this.#types)
{
if (typeof this.#_logLevelMapping[type] === 'undefined')
throw new Error(`Missing logLevelMapping for type ${type}`);
Object.defineProperty(this, type, {
value: (msg: string, o: WriteOptions) => this.#transport(msg, { ...o, type })
});
}
this.#_guard = opts.guard || Defaults.ClientOptions.guard as string;
this.#_logLevel = opts.logLevel ?? Defaults.ClientOptions.logLevel as number;
this.#_logLevelMapping = { ...Defaults.ClientOptions.logLevelMapping, ...opts.logLevelMapping };
}

View File

@ -55,7 +55,6 @@ class MasterLogger implements Logger
constructor (config = Defaults.MasterOptions)
{
const {
directory, customTypes = [], customStreams = [], customTypeMapping,
customColours, guard, fileRotationFreq, logLevel, logLevelMapping,
@ -82,6 +81,8 @@ class MasterLogger implements Logger
this.#types = [ ...customTypes, ...Defaults.Types ];
for (const type of this.#types)
{
if (typeof this.#_logLevelMapping[type] === 'undefined')
throw new Error(`Missing logLevelMapping for type ${type}`);
Object.defineProperty(this, type, {
value: (msg: string, opts: WriteOptions) => this.write(type, msg, opts)
});
@ -206,8 +207,6 @@ class MasterLogger implements Logger
write (type = 'info', text: string | object | Error, { subheader = '', shard, broadcast = false }: WriteOptions = {})
{
type = type.toLowerCase();
let colour = this.#colourFuncs[type];
if (!colour)
colour = this.#colourFuncs.info;