nightingale-logger 11.5.2 → 11.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport Level from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options<T extends Metadata> {\n symbol?: string;\n metadataStyles?: MetadataStyles<T>;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const {\n handlers,\n processors,\n }: ComputedConfigForKey = global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record<string, unknown>;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly<ComputedConfigForKey> {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record<string, unknown>): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly<Record<string, unknown>> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record<string, unknown>): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record<string, unknown>): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord<T extends Metadata>(record: Readonly<LogRecord<T>>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => process(record, record.context));\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log<T extends Metadata>(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord<T> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error<T extends Metadata>(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue<T extends Metadata>(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar<T extends Metadata>(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd<T extends Metadata>(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n options?: Options<T>,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap<Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles<T>,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles<T> | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles<T> | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles as MetadataStyles<T>);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"}
1
+ {"version":3,"file":"index-node12-dev.cjs.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options<T extends Metadata> {\n symbol?: string;\n metadataStyles?: MetadataStyles<T>;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record<string, unknown>;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly<ComputedConfigForKey> {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record<string, unknown>): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly<Record<string, unknown>> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record<string, unknown>): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record<string, unknown>): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord<T extends Metadata>(record: Readonly<LogRecord<T>>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log<T extends Metadata>(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord<T> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error<T extends Metadata>(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue<T extends Metadata>(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar<T extends Metadata>(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd<T extends Metadata>(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n options?: Options<T>,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap<Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles<T>,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles<T> | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles<T> | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { inspect } from 'util';
2
- import Level from 'nightingale-levels';
3
- export { default as Level } from 'nightingale-levels';
1
+ import * as util from 'util';
2
+ import { Level } from 'nightingale-levels';
3
+ export { Level } from 'nightingale-levels';
4
4
 
5
5
  /* eslint-disable max-lines */
6
6
 
@@ -147,7 +147,9 @@ class Logger {
147
147
  }
148
148
 
149
149
  if (processors) {
150
- processors.forEach(process => process(record, record.context));
150
+ processors.forEach(process => {
151
+ process(record, record.context);
152
+ });
151
153
  }
152
154
 
153
155
  handlers.some(handler => handler.handle(record) === false);
@@ -306,7 +308,7 @@ class Logger {
306
308
  {
307
309
  // Note: inspect is a special function for node:
308
310
  // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210
309
- const inspectedValue = inspect(value, {
311
+ const inspectedValue = util.inspect(value, {
310
312
  depth: 6
311
313
  });
312
314
  this.log(inspectedValue, metadata, Level.DEBUG, {
@@ -322,7 +324,7 @@ class Logger {
322
324
 
323
325
  inspectVar(varName, varValue, metadata, metadataStyles) {
324
326
  {
325
- const inspectedValue = inspect(varValue, {
327
+ const inspectedValue = util.inspect(varValue, {
326
328
  depth: 6
327
329
  });
328
330
  this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {
@@ -548,6 +550,5 @@ class Logger {
548
550
 
549
551
  }
550
552
 
551
- export default Logger;
552
- export { Logger };
553
+ export { Logger, Logger as default };
553
554
  //# sourceMappingURL=index-node12-dev.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport Level from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options<T extends Metadata> {\n symbol?: string;\n metadataStyles?: MetadataStyles<T>;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const {\n handlers,\n processors,\n }: ComputedConfigForKey = global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record<string, unknown>;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly<ComputedConfigForKey> {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record<string, unknown>): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly<Record<string, unknown>> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record<string, unknown>): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record<string, unknown>): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord<T extends Metadata>(record: Readonly<LogRecord<T>>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => process(record, record.context));\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log<T extends Metadata>(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord<T> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error<T extends Metadata>(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue<T extends Metadata>(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar<T extends Metadata>(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd<T extends Metadata>(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n options?: Options<T>,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap<Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles<T>,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles<T> | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles<T> | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles as MetadataStyles<T>);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"}
1
+ {"version":3,"file":"index-node12-dev.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { PRODUCTION, POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level };\n\nexport interface Options<T extends Metadata> {\n symbol?: string;\n metadataStyles?: MetadataStyles<T>;\n styles?: Styles;\n}\n\nexport interface ComputedConfigForKey {\n handlers: Handler[];\n processors: Processor[];\n}\n\ninterface ExtendedFunctionNameMetadata {\n functionName: string;\n}\n\nexport interface Config {\n handler?: Handler;\n handlers?: Handler[];\n key?: string;\n keys?: string[];\n pattern?: RegExp;\n processor?: Processor;\n processors?: Processor[];\n stop?: boolean;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace NodeJS {\n interface Global {\n __NIGHTINGALE_CONFIG: Config[];\n __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n }\n }\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n\n/** @private */\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(key, recordLevel);\n}\n\n/**\n * Interface that allows you to log records.\n * This records are treated by handlers\n */\nexport class Logger {\n private contextObject?: Record<string, unknown>;\n\n readonly key: string;\n\n readonly displayName?: string;\n\n /**\n * Create a new Logger\n *\n * @param {string} key\n * @param {string} [displayName]\n */\n constructor(key: string, displayName?: string) {\n this.key = key;\n this.displayName = displayName;\n\n if (!PRODUCTION && key.includes('.')) {\n throw new Error(\n `nightingale: \\`.\\` in key is no longer supported, use \\`:\\` instead (key: ${key})`,\n );\n }\n }\n\n /** @private */\n protected getHandlersAndProcessors(\n recordLevel: number,\n ): ComputedConfigForKey {\n return getConfigForLoggerRecord(this.key, recordLevel);\n }\n\n /** @private */\n getConfig(): Readonly<ComputedConfigForKey> {\n return global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);\n }\n\n /**\n * Create a child logger\n */\n child(childSuffixKey: string, childDisplayName?: string): Logger {\n return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);\n }\n\n /**\n * Create a new Logger with the same key a this attached context\n *\n * @example\n * ```typescript\n * const loggerMyService = new Logger('app:myService');\n * function someAction(arg1) {\n * const logger = loggerMyService.context({ arg1 });\n * logger.enter(someAction);\n * // do stuff\n * logger.info('info');\n * // do stuff\n * logger.exit(someAction);\n * }\n * ```\n *\n */\n context(context: Record<string, unknown>): Logger {\n const logger = new Logger(this.key);\n logger.setContext(context);\n return logger;\n }\n\n /**\n * Get the context of this logger\n */\n getContextObject(): Readonly<Record<string, unknown>> | undefined {\n return this.contextObject;\n }\n\n /**\n * Set the context of this logger\n *\n * @param {Object} context\n */\n setContext(context: Record<string, unknown>): void {\n this.contextObject = context;\n }\n\n /**\n * Extends existing context of this logger\n */\n extendsContext(extendedContext: Record<string, unknown>): void {\n Object.assign(this.contextObject, extendedContext);\n }\n\n /**\n * Handle a record\n *\n * Use this only if you know what you are doing.\n */\n addRecord<T extends Metadata>(record: Readonly<LogRecord<T>>): void {\n const { handlers, processors } = this.getHandlersAndProcessors(\n record.level,\n );\n\n if (handlers.length === 0) {\n if (record.level > Level.ERROR) {\n // eslint-disable-next-line no-console\n console.log('[nightingale] no logger for > error level.', {\n key: record.key,\n message: record.message,\n });\n }\n return;\n }\n\n if (processors) {\n processors.forEach((process) => {\n process(record, record.context);\n });\n }\n\n handlers.some((handler) => handler.handle(record) === false);\n }\n\n /**\n * Log a message\n */\n log<T extends Metadata>(\n message: string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const context = metadata?.context;\n if (metadata) {\n delete metadata.context;\n }\n\n const record: LogRecord<T> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.WARN, { metadataStyles });\n }\n\n /**\n * Log an error message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * }\n * ```\n */\n error<T extends Metadata>(\n message: string | Error,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (message instanceof Error) {\n const extendedMetadata = {\n ...metadata,\n error: message,\n };\n message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;\n this.log(message, extendedMetadata, Level.ERROR, { metadataStyles });\n } else {\n this.log(message, metadata, Level.ERROR, { metadataStyles });\n }\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.CRITICAL, { metadataStyles });\n }\n\n /**\n * Log a fatal message\n *\n * @example\n * ```typescript\n * const logger = new Logger('something');\n * try {\n * throw new Error('Always throws here');\n * } catch (error) {\n * logger.error('caught error', { error });\n * process.exit(1);\n * }\n */\n fatal<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.ALERT, { metadataStyles });\n }\n\n /**\n * Log an inspected value\n */\n inspectValue<T extends Metadata>(\n value: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n // Note: inspect is a special function for node:\n // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210\n const inspectedValue = util.inspect(value, { depth: 6 });\n this.log(inspectedValue, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['gray'],\n });\n }\n }\n\n /**\n * Log a debugged var\n */\n inspectVar<T extends Metadata>(\n varName: string,\n varValue: unknown,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n if (POB_TARGET === 'browser') {\n throw new Error('Not supported for the browser. Prefer `debugger;`');\n } else {\n const inspectedValue = util.inspect(varValue, { depth: 6 });\n this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {\n metadataStyles,\n styles: ['cyan'],\n });\n }\n }\n\n /**\n * Alias for infoSuccess\n */\n success<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoSuccess(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info success message\n */\n infoSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an debug success message\n */\n debugSuccess<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✔',\n styles: ['green'],\n });\n }\n\n /**\n * Alias for infoFail\n */\n fail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(message, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.INFO, {\n metadataStyles,\n symbol: '✖',\n styles: ['red', 'bold'],\n });\n }\n\n /**\n * Log an debug fail message\n */\n debugFail<T extends Metadata>(\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(message, metadata, Level.DEBUG, {\n metadataStyles,\n symbol: '✖',\n styles: ['red'],\n });\n }\n\n /**\n * @returns {number} time to pass to timeEnd\n */\n time<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n ): number {\n if (message) {\n this.log(message, metadata, level, { metadataStyles });\n }\n\n return Date.now();\n }\n\n infoTime<T extends Metadata>(\n message?: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): number {\n return this.time(message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Finds difference between when this method\n * was called and when the respective time method\n * was called, then logs out the difference\n * and deletes the original record\n */\n timeEnd<T extends Metadata>(\n startTime: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n level: number = Level.DEBUG,\n options?: Options<T>,\n ): void {\n const now = Date.now();\n\n const diffTime = now - startTime;\n let readableTime;\n\n if (diffTime < 1000) {\n readableTime = `${diffTime}ms`;\n } else {\n const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;\n const ms = diffTime - seconds * 1000;\n readableTime = `${seconds ? `${seconds}s and ` : ''}${ms}ms`;\n }\n\n const extendedMetadata = {\n ...metadata,\n readableTime,\n timeMs: diffTime,\n };\n\n this.log(message, extendedMetadata, level, { ...options, metadataStyles });\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);\n }\n\n /**\n * Like timeEnd, but with INFO level\n */\n infoSuccessTimeEnd<T extends Metadata>(\n time: number,\n message: string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {\n symbol: '✔',\n styles: ['green', 'bold'],\n });\n }\n\n /**\n * Log an enter in a function\n *\n * @example\n * ```typescript\n * class A {\n * method(arg1) {\n * logger.enter(method, { arg1 });\n * // Do your stuff\n * }\n * }\n * ```\n *\n */\n enter<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap<Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles<T>,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles<T> | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles<T> | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles!);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n\n/** @deprecated use named export instead */\nexport default Logger;\n"],"names":["global","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","Logger","constructor","displayName","includes","Error","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","process","some","handle","metadata","INFO","options","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","value","inspectedValue","util","inspect","depth","styles","inspectVar","varName","varValue","success","infoSuccess","symbol","debugSuccess","fail","infoFail","debugFail","time","now","infoTime","timeEnd","startTime","diffTime","readableTime","seconds","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"}
@@ -3,11 +3,21 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const util = require('util');
6
- const Level = require('nightingale-levels');
7
-
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
6
+ const nightingaleLevels = require('nightingale-levels');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ const n = Object.create(null);
11
+ if (e) {
12
+ for (const k in e) {
13
+ n[k] = e[k];
14
+ }
15
+ }
16
+ n["default"] = e;
17
+ return n;
18
+ }
9
19
 
10
- const Level__default = /*#__PURE__*/_interopDefaultLegacy(Level);
20
+ const util__namespace = /*#__PURE__*/_interopNamespace(util);
11
21
 
12
22
  /* eslint-disable max-lines */
13
23
 
@@ -138,7 +148,7 @@ class Logger {
138
148
  } = this.getHandlersAndProcessors(record.level);
139
149
 
140
150
  if (handlers.length === 0) {
141
- if (record.level > Level__default.ERROR) {
151
+ if (record.level > nightingaleLevels.Level.ERROR) {
142
152
  // eslint-disable-next-line no-console
143
153
  console.log('[nightingale] no logger for > error level.', {
144
154
  key: record.key,
@@ -150,7 +160,9 @@ class Logger {
150
160
  }
151
161
 
152
162
  if (processors) {
153
- processors.forEach(process => process(record, record.context));
163
+ processors.forEach(process => {
164
+ process(record, record.context);
165
+ });
154
166
  }
155
167
 
156
168
  handlers.some(handler => handler.handle(record) === false);
@@ -160,7 +172,7 @@ class Logger {
160
172
  */
161
173
 
162
174
 
163
- log(message, metadata, level = Level__default.INFO, options) {
175
+ log(message, metadata, level = nightingaleLevels.Level.INFO, options) {
164
176
  const context = metadata === null || metadata === void 0 ? void 0 : metadata.context;
165
177
 
166
178
  if (metadata) {
@@ -186,7 +198,7 @@ class Logger {
186
198
 
187
199
 
188
200
  trace(message, metadata, metadataStyles) {
189
- this.log(message, metadata, Level__default.TRACE, {
201
+ this.log(message, metadata, nightingaleLevels.Level.TRACE, {
190
202
  metadataStyles
191
203
  });
192
204
  }
@@ -196,7 +208,7 @@ class Logger {
196
208
 
197
209
 
198
210
  debug(message, metadata, metadataStyles) {
199
- this.log(message, metadata, Level__default.DEBUG, {
211
+ this.log(message, metadata, nightingaleLevels.Level.DEBUG, {
200
212
  metadataStyles
201
213
  });
202
214
  }
@@ -206,7 +218,7 @@ class Logger {
206
218
 
207
219
 
208
220
  notice(message, metadata, metadataStyles) {
209
- this.log(message, metadata, Level__default.NOTICE, {
221
+ this.log(message, metadata, nightingaleLevels.Level.NOTICE, {
210
222
  metadataStyles
211
223
  });
212
224
  }
@@ -216,7 +228,7 @@ class Logger {
216
228
 
217
229
 
218
230
  info(message, metadata, metadataStyles) {
219
- this.log(message, metadata, Level__default.INFO, {
231
+ this.log(message, metadata, nightingaleLevels.Level.INFO, {
220
232
  metadataStyles
221
233
  });
222
234
  }
@@ -226,7 +238,7 @@ class Logger {
226
238
 
227
239
 
228
240
  warn(message, metadata, metadataStyles) {
229
- this.log(message, metadata, Level__default.WARN, {
241
+ this.log(message, metadata, nightingaleLevels.Level.WARN, {
230
242
  metadataStyles
231
243
  });
232
244
  }
@@ -251,11 +263,11 @@ class Logger {
251
263
  error: message
252
264
  };
253
265
  message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;
254
- this.log(message, extendedMetadata, Level__default.ERROR, {
266
+ this.log(message, extendedMetadata, nightingaleLevels.Level.ERROR, {
255
267
  metadataStyles
256
268
  });
257
269
  } else {
258
- this.log(message, metadata, Level__default.ERROR, {
270
+ this.log(message, metadata, nightingaleLevels.Level.ERROR, {
259
271
  metadataStyles
260
272
  });
261
273
  }
@@ -266,7 +278,7 @@ class Logger {
266
278
 
267
279
 
268
280
  critical(message, metadata, metadataStyles) {
269
- this.log(message, metadata, Level__default.CRITICAL, {
281
+ this.log(message, metadata, nightingaleLevels.Level.CRITICAL, {
270
282
  metadataStyles
271
283
  });
272
284
  }
@@ -286,7 +298,7 @@ class Logger {
286
298
 
287
299
 
288
300
  fatal(message, metadata, metadataStyles) {
289
- this.log(message, metadata, Level__default.FATAL, {
301
+ this.log(message, metadata, nightingaleLevels.Level.FATAL, {
290
302
  metadataStyles
291
303
  });
292
304
  }
@@ -296,7 +308,7 @@ class Logger {
296
308
 
297
309
 
298
310
  alert(message, metadata, metadataStyles) {
299
- this.log(message, metadata, Level__default.ALERT, {
311
+ this.log(message, metadata, nightingaleLevels.Level.ALERT, {
300
312
  metadataStyles
301
313
  });
302
314
  }
@@ -309,10 +321,10 @@ class Logger {
309
321
  {
310
322
  // Note: inspect is a special function for node:
311
323
  // https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210
312
- const inspectedValue = util.inspect(value, {
324
+ const inspectedValue = util__namespace.inspect(value, {
313
325
  depth: 6
314
326
  });
315
- this.log(inspectedValue, metadata, Level__default.DEBUG, {
327
+ this.log(inspectedValue, metadata, nightingaleLevels.Level.DEBUG, {
316
328
  metadataStyles,
317
329
  styles: ['gray']
318
330
  });
@@ -325,10 +337,10 @@ class Logger {
325
337
 
326
338
  inspectVar(varName, varValue, metadata, metadataStyles) {
327
339
  {
328
- const inspectedValue = util.inspect(varValue, {
340
+ const inspectedValue = util__namespace.inspect(varValue, {
329
341
  depth: 6
330
342
  });
331
- this.log(`${varName} = ${inspectedValue}`, metadata, Level__default.DEBUG, {
343
+ this.log(`${varName} = ${inspectedValue}`, metadata, nightingaleLevels.Level.DEBUG, {
332
344
  metadataStyles,
333
345
  styles: ['cyan']
334
346
  });
@@ -348,7 +360,7 @@ class Logger {
348
360
 
349
361
 
350
362
  infoSuccess(message, metadata, metadataStyles) {
351
- this.log(message, metadata, Level__default.INFO, {
363
+ this.log(message, metadata, nightingaleLevels.Level.INFO, {
352
364
  metadataStyles,
353
365
  symbol: '✔',
354
366
  styles: ['green', 'bold']
@@ -360,7 +372,7 @@ class Logger {
360
372
 
361
373
 
362
374
  debugSuccess(message, metadata, metadataStyles) {
363
- this.log(message, metadata, Level__default.DEBUG, {
375
+ this.log(message, metadata, nightingaleLevels.Level.DEBUG, {
364
376
  metadataStyles,
365
377
  symbol: '✔',
366
378
  styles: ['green']
@@ -380,7 +392,7 @@ class Logger {
380
392
 
381
393
 
382
394
  infoFail(message, metadata, metadataStyles) {
383
- this.log(message, metadata, Level__default.INFO, {
395
+ this.log(message, metadata, nightingaleLevels.Level.INFO, {
384
396
  metadataStyles,
385
397
  symbol: '✖',
386
398
  styles: ['red', 'bold']
@@ -392,7 +404,7 @@ class Logger {
392
404
 
393
405
 
394
406
  debugFail(message, metadata, metadataStyles) {
395
- this.log(message, metadata, Level__default.DEBUG, {
407
+ this.log(message, metadata, nightingaleLevels.Level.DEBUG, {
396
408
  metadataStyles,
397
409
  symbol: '✖',
398
410
  styles: ['red']
@@ -403,7 +415,7 @@ class Logger {
403
415
  */
404
416
 
405
417
 
406
- time(message, metadata, metadataStyles, level = Level__default.DEBUG) {
418
+ time(message, metadata, metadataStyles, level = nightingaleLevels.Level.DEBUG) {
407
419
  if (message) {
408
420
  this.log(message, metadata, level, {
409
421
  metadataStyles
@@ -414,7 +426,7 @@ class Logger {
414
426
  }
415
427
 
416
428
  infoTime(message, metadata, metadataStyles) {
417
- return this.time(message, metadata, metadataStyles, Level__default.INFO);
429
+ return this.time(message, metadata, metadataStyles, nightingaleLevels.Level.INFO);
418
430
  }
419
431
  /**
420
432
  * Finds difference between when this method
@@ -424,7 +436,7 @@ class Logger {
424
436
  */
425
437
 
426
438
 
427
- timeEnd(startTime, message, metadata, metadataStyles, level = Level__default.DEBUG, options) {
439
+ timeEnd(startTime, message, metadata, metadataStyles, level = nightingaleLevels.Level.DEBUG, options) {
428
440
  const now = Date.now();
429
441
  const diffTime = now - startTime;
430
442
  let readableTime;
@@ -450,7 +462,7 @@ class Logger {
450
462
 
451
463
 
452
464
  infoTimeEnd(time, message, metadata, metadataStyles) {
453
- this.timeEnd(time, message, metadata, metadataStyles, Level__default.INFO);
465
+ this.timeEnd(time, message, metadata, metadataStyles, nightingaleLevels.Level.INFO);
454
466
  }
455
467
  /**
456
468
  * Like timeEnd, but with INFO level
@@ -458,7 +470,7 @@ class Logger {
458
470
 
459
471
 
460
472
  infoSuccessTimeEnd(time, message, metadata, metadataStyles) {
461
- this.timeEnd(time, message, metadata, metadataStyles, Level__default.INFO, {
473
+ this.timeEnd(time, message, metadata, metadataStyles, nightingaleLevels.Level.INFO, {
462
474
  symbol: '✔',
463
475
  styles: ['green', 'bold']
464
476
  });
@@ -483,7 +495,7 @@ class Logger {
483
495
  const extendedMetadata = { ...metadata,
484
496
  functionName: fn.name
485
497
  };
486
- this.log('enter', extendedMetadata, Level__default.TRACE, {
498
+ this.log('enter', extendedMetadata, nightingaleLevels.Level.TRACE, {
487
499
  metadataStyles
488
500
  });
489
501
  }
@@ -507,7 +519,7 @@ class Logger {
507
519
  const extendedMetadata = { ...metadata,
508
520
  functionName: fn.name
509
521
  };
510
- this.log('exit', extendedMetadata, Level__default.TRACE, {
522
+ this.log('exit', extendedMetadata, nightingaleLevels.Level.TRACE, {
511
523
  metadataStyles
512
524
  });
513
525
  }
@@ -551,7 +563,7 @@ class Logger {
551
563
 
552
564
  }
553
565
 
554
- exports.Level = Level__default;
566
+ exports.Level = nightingaleLevels.Level;
555
567
  exports.Logger = Logger;
556
- exports.default = Logger;
568
+ exports["default"] = Logger;
557
569
  //# sourceMappingURL=index-node12.cjs.js.map