diff --git a/packages/common/src/Logger.ts b/packages/common/src/Logger.ts index b0a321a8..daf890f9 100644 --- a/packages/common/src/Logger.ts +++ b/packages/common/src/Logger.ts @@ -32,7 +32,11 @@ export const createLogger = (config: Partial) => { .map((p) => `[${p}]`) .join(' ') - const _log = (shouldDisplay: boolean, ...args: any[]) => { + const _log = ( + fn: 'log' | 'warn' | 'error' | 'trace' | 'debug' = 'log', + shouldDisplay: boolean, + ...args: any[] + ) => { if (_buf.length < MAX_BUF) { _buf.push(args) } else { @@ -40,31 +44,31 @@ export const createLogger = (config: Partial) => { _curIdx++ if (_curIdx === MAX_BUF) _curIdx = 0 } - if (shouldDisplay) console.log(...args) + if (shouldDisplay) console[fn](...args) } const raw = (...args: any[]) => { - _log(_config.raw, _pfx('RAW'), ...args) + _log('log', _config.raw, _pfx('RAW'), ...args) } const dbg = (...args: any[]) => { - _log(_config.debug, _pfx(chalk.blueBright('DBG')), ...args) + _log('debug', _config.debug, _pfx(chalk.blueBright('DBG')), ...args) } const warn = (...args: any[]) => { - _log(true, _pfx(chalk.yellow(chalk.cyanBright('WARN'))), ...args) + _log('warn', true, _pfx(chalk.yellow(chalk.cyanBright('WARN'))), ...args) } const info = (...args: any[]) => { - _log(true, _pfx(chalk.gray(`INFO`)), ...args) + _log('log', true, _pfx(chalk.gray(`INFO`)), ...args) } const trace = (...args: any[]) => { - _log(_config.trace, _pfx(`TRACE`), ...args) + _log('trace', _config.trace, _pfx(`TRACE`), ...args) } const error = (...args: any[]) => { - _log(true, _pfx(chalk.bgRed(`ERROR`)), ...args) + _log('error', true, _pfx(chalk.bgRed(`ERROR`)), ...args) if (!errorTrace) return console.error(`========== ERROR TRACEBACK BEGIN ==============`) ;[..._buf.slice(_curIdx, MAX_BUF), ..._buf.slice(0, _curIdx)].forEach( @@ -76,7 +80,7 @@ export const createLogger = (config: Partial) => { } const abort = (...args: any[]): never => { - _log(true, _pfx(chalk.bgRed(`ABORT`)), ...args) + _log('error', true, _pfx(chalk.bgRed(`ABORT`)), ...args) throw new Error(`Fatal error: ${JSON.stringify(args)}`) }