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.
- package/.eslintrc.json +1 -1
- package/CHANGELOG.md +38 -0
- package/babel.config.cjs +14 -0
- package/dist/index-browser-dev.cjs.js +29 -30
- package/dist/index-browser-dev.cjs.js.map +1 -1
- package/dist/index-browser-dev.es.js +5 -6
- package/dist/index-browser-dev.es.js.map +1 -1
- package/dist/index-browser.cjs.js +29 -30
- package/dist/index-browser.cjs.js.map +1 -1
- package/dist/index-browser.es.js +5 -6
- package/dist/index-browser.es.js.map +1 -1
- package/dist/index-browsermodern-dev.es.js +6 -5
- package/dist/index-browsermodern-dev.es.js.map +1 -1
- package/dist/index-browsermodern.es.js +6 -5
- package/dist/index-browsermodern.es.js.map +1 -1
- package/dist/index-node12-dev.cjs.js +46 -34
- package/dist/index-node12-dev.cjs.js.map +1 -1
- package/dist/index-node12-dev.mjs +9 -8
- package/dist/index-node12-dev.mjs.map +1 -1
- package/dist/index-node12.cjs.js +46 -34
- package/dist/index-node12.cjs.js.map +1 -1
- package/dist/index-node12.mjs +9 -8
- package/dist/index-node12.mjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +23 -31
- package/rollup.config.mjs +3 -0
- package/src/.eslintrc.json +1 -1
- package/src/index.ts +8 -8
- package/index.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browsermodern-dev.es.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","inspectVar","success","infoSuccess","symbol","styles","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-browsermodern-dev.es.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","inspectVar","success","infoSuccess","symbol","styles","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,5 +1,5 @@
|
|
|
1
|
-
import Level from 'nightingale-levels';
|
|
2
|
-
export {
|
|
1
|
+
import { Level } from 'nightingale-levels';
|
|
2
|
+
export { Level } from 'nightingale-levels';
|
|
3
3
|
|
|
4
4
|
/* eslint-disable max-lines */
|
|
5
5
|
|
|
@@ -142,7 +142,9 @@ class Logger {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
if (processors) {
|
|
145
|
-
processors.forEach(process =>
|
|
145
|
+
processors.forEach(process => {
|
|
146
|
+
process(record, record.context);
|
|
147
|
+
});
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
handlers.some(handler => handler.handle(record) === false);
|
|
@@ -525,6 +527,5 @@ class Logger {
|
|
|
525
527
|
|
|
526
528
|
}
|
|
527
529
|
|
|
528
|
-
export default
|
|
529
|
-
export { Logger };
|
|
530
|
+
export { Logger, Logger as default };
|
|
530
531
|
//# sourceMappingURL=index-browsermodern.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browsermodern.es.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","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","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","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-browsermodern.es.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","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","Error","extendedMetadata","name","critical","CRITICAL","fatal","FATAL","alert","ALERT","inspectValue","inspectVar","success","infoSuccess","symbol","styles","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":";;;AAAA;;AA4DA,IAAI,CAACA,MAAM,CAACC,mCAAZ,EAAiD;AAC/CD,EAAAA,MAAM,CAACC,mCAAP,GAA6C,OAA6B;AACxEC,IAAAA,QAAQ,EAAE,EAD8D;AAExEC,IAAAA,UAAU,EAAE;AAF4D,GAA7B,CAA7C;AAID;;AAED,IAAI,CAACH,MAAM,CAACI,0CAAZ,EAAwD;AACtDJ,EAAAA,MAAM,CAACI,0CAAP,GAAoD,CAClDC,GADkD,EAElDC,KAFkD,KAGzB;AACzB,UAAM;AAAEJ,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QACJH,MAAM,CAACC,mCAAP,CAA2CI,GAA3C,CADF;;AAGA,WAAO;AACLH,MAAAA,QAAQ,EAAEA,QAAQ,CAACK,MAAT,CACPC,OAAD,IACEF,KAAK,IAAIE,OAAO,CAACC,QAAjB,KACC,CAACD,OAAO,CAACE,UAAT,IAAuBF,OAAO,CAACE,UAAR,CAAmBJ,KAAnB,EAA0BD,GAA1B,CADxB,CAFM,CADL;AAMLF,MAAAA;AANK,KAAP;AAQD,GAfD;AAgBD;AAED;;;AACA,SAASQ,wBAAT,CACEN,GADF,EAEEO,WAFF,EAGwB;AACtB,SAAOZ,MAAM,CAACI,0CAAP,CAAkDC,GAAlD,EAAuDO,WAAvD,CAAP;AACD;AAED;AACA;AACA;AACA;;;AACO,MAAMC,MAAN,CAAa;AAOlB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,WAAW,CAACT,GAAD,EAAcU,WAAd,EAAoC;AAC7C,SAAKV,GAAL,GAAWA,GAAX;AACA,SAAKU,WAAL,GAAmBA,WAAnB;AAOD;AAED;;;AACUC,EAAAA,wBAAwB,CAChCJ,WADgC,EAEV;AACtB,WAAOD,wBAAwB,CAAC,KAAKN,GAAN,EAAWO,WAAX,CAA/B;AACD;AAED;;;AACAK,EAAAA,SAAS,GAAmC;AAC1C,WAAOjB,MAAM,CAACC,mCAAP,CAA2C,KAAKI,GAAhD,CAAP;AACD;AAED;AACF;AACA;;;AACEa,EAAAA,KAAK,CAACC,cAAD,EAAyBC,gBAAzB,EAA4D;AAC/D,WAAO,IAAIP,MAAJ,CAAY,GAAE,KAAKR,GAAI,IAAGc,cAAe,EAAzC,EAA4CC,gBAA5C,CAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACEC,EAAAA,OAAO,CAACA,OAAD,EAA2C;AAChD,UAAMC,MAAM,GAAG,IAAIT,MAAJ,CAAW,KAAKR,GAAhB,CAAf;AACAiB,IAAAA,MAAM,CAACC,UAAP,CAAkBF,OAAlB;AACA,WAAOC,MAAP;AACD;AAED;AACF;AACA;;;AACEE,EAAAA,gBAAgB,GAAkD;AAChE,WAAO,KAAKC,aAAZ;AACD;AAED;AACF;AACA;AACA;AACA;;;AACEF,EAAAA,UAAU,CAACF,OAAD,EAAyC;AACjD,SAAKI,aAAL,GAAqBJ,OAArB;AACD;AAED;AACF;AACA;;;AACEK,EAAAA,cAAc,CAACC,eAAD,EAAiD;AAC7DC,IAAAA,MAAM,CAACC,MAAP,CAAc,KAAKJ,aAAnB,EAAkCE,eAAlC;AACD;AAED;AACF;AACA;AACA;AACA;;;AACEG,EAAAA,SAAS,CAAqBC,MAArB,EAA2D;AAClE,UAAM;AAAE7B,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAA2B,KAAKa,wBAAL,CAC/Be,MAAM,CAACzB,KADwB,CAAjC;;AAIA,QAAIJ,QAAQ,CAAC8B,MAAT,KAAoB,CAAxB,EAA2B;AACzB,UAAID,MAAM,CAACzB,KAAP,GAAe2B,KAAK,CAACC,KAAzB,EAAgC;AAC9B;AACAC,QAAAA,OAAO,CAACC,GAAR,CAAY,4CAAZ,EAA0D;AACxD/B,UAAAA,GAAG,EAAE0B,MAAM,CAAC1B,GAD4C;AAExDgC,UAAAA,OAAO,EAAEN,MAAM,CAACM;AAFwC,SAA1D;AAID;;AACD;AACD;;AAED,QAAIlC,UAAJ,EAAgB;AACdA,MAAAA,UAAU,CAACmC,OAAX,CAAoBC,OAAD,IAAa;AAC9BA,QAAAA,OAAO,CAACR,MAAD,EAASA,MAAM,CAACV,OAAhB,CAAP;AACD,OAFD;AAGD;;AAEDnB,IAAAA,QAAQ,CAACsC,IAAT,CAAehC,OAAD,IAAaA,OAAO,CAACiC,MAAR,CAAeV,MAAf,MAA2B,KAAtD;AACD;AAED;AACF;AACA;;;AACEK,EAAAA,GAAG,CACDC,OADC,EAEDK,QAFC,EAGDpC,KAAY,GAAG2B,KAAK,CAACU,IAHpB,EAIDC,OAJC,EAKK;AACN,UAAMvB,OAAO,GAAGqB,QAAH,aAAGA,QAAH,uBAAGA,QAAQ,CAAErB,OAA1B;;AACA,QAAIqB,QAAJ,EAAc;AACZ,aAAOA,QAAQ,CAACrB,OAAhB;AACD;;AAED,UAAMU,MAAoB,GAAG;AAC3BzB,MAAAA,KAD2B;AAE3BD,MAAAA,GAAG,EAAE,KAAKA,GAFiB;AAG3BU,MAAAA,WAAW,EAAE,KAAKA,WAHS;AAI3B8B,MAAAA,QAAQ,EAAE,IAAIC,IAAJ,EAJiB;AAK3BT,MAAAA,OAL2B;AAM3BhB,MAAAA,OAAO,EAAEA,OAAO,IAAI,KAAKI,aANE;AAO3BiB,MAAAA,QAP2B;AAQ3BK,MAAAA,KAAK,EAAE,EARoB;AAS3B,SAAGH;AATwB,KAA7B;AAWA,SAAKd,SAAL,CAAeC,MAAf;AACD;AAED;AACF;AACA;;;AACEiB,EAAAA,KAAK,CACHX,OADG,EAEHK,QAFG,EAGHO,cAHG,EAIG;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACiB,KAAlC,EAAyC;AAAED,MAAAA;AAAF,KAAzC;AACD;AAED;AACF;AACA;;;AACEE,EAAAA,KAAK,CACHd,OADG,EAEHK,QAFG,EAGHO,cAHG,EAIG;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACmB,KAAlC,EAAyC;AAAEH,MAAAA;AAAF,KAAzC;AACD;AAED;AACF;AACA;;;AACEI,EAAAA,MAAM,CACJhB,OADI,EAEJK,QAFI,EAGJO,cAHI,EAIE;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACqB,MAAlC,EAA0C;AAAEL,MAAAA;AAAF,KAA1C;AACD;AAED;AACF;AACA;;;AACEM,EAAAA,IAAI,CACFlB,OADE,EAEFK,QAFE,EAGFO,cAHE,EAII;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACU,IAAlC,EAAwC;AAAEM,MAAAA;AAAF,KAAxC;AACD;AAED;AACF;AACA;;;AACEO,EAAAA,IAAI,CACFnB,OADE,EAEFK,QAFE,EAGFO,cAHE,EAII;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACwB,IAAlC,EAAwC;AAAER,MAAAA;AAAF,KAAxC;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACES,EAAAA,KAAK,CACHrB,OADG,EAEHK,QAFG,EAGHO,cAHG,EAIG;AACN,QAAIZ,OAAO,YAAYsB,KAAvB,EAA8B;AAC5B,YAAMC,gBAAgB,GAAG,EACvB,GAAGlB,QADoB;AAEvBgB,QAAAA,KAAK,EAAErB;AAFgB,OAAzB;AAIAA,MAAAA,OAAO,GAAI,GAAEuB,gBAAgB,CAACF,KAAjB,CAAuBG,IAAK,KAAID,gBAAgB,CAACF,KAAjB,CAAuBrB,OAAQ,EAA5E;AACA,WAAKD,GAAL,CAASC,OAAT,EAAkBuB,gBAAlB,EAAoC3B,KAAK,CAACC,KAA1C,EAAiD;AAAEe,QAAAA;AAAF,OAAjD;AACD,KAPD,MAOO;AACL,WAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACC,KAAlC,EAAyC;AAAEe,QAAAA;AAAF,OAAzC;AACD;AACF;AAED;AACF;AACA;;;AACEa,EAAAA,QAAQ,CACNzB,OADM,EAENK,QAFM,EAGNO,cAHM,EAIA;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAAC8B,QAAlC,EAA4C;AAAEd,MAAAA;AAAF,KAA5C;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACEe,EAAAA,KAAK,CACH3B,OADG,EAEHK,QAFG,EAGHO,cAHG,EAIG;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACgC,KAAlC,EAAyC;AAAEhB,MAAAA;AAAF,KAAzC;AACD;AAED;AACF;AACA;;;AACEiB,EAAAA,KAAK,CACH7B,OADG,EAEHK,QAFG,EAGHO,cAHG,EAIG;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACkC,KAAlC,EAAyC;AAAElB,MAAAA;AAAF,KAAzC;AACD;AAED;AACF;AACA;;;AACEmB,EAAAA,YAAY,GAIJ;AAEJ,UAAM,IAAIT,KAAJ,CAAU,mDAAV,CAAN;AAUH;AAED;AACF;AACA;;;AACEU,EAAAA,UAAU,GAKF;AAEJ,UAAM,IAAIV,KAAJ,CAAU,mDAAV,CAAN;AAQH;AAED;AACF;AACA;;;AACEW,EAAAA,OAAO,CACLjC,OADK,EAELK,QAFK,EAGLO,cAHK,EAIC;AACN,SAAKsB,WAAL,CAAiBlC,OAAjB,EAA0BK,QAA1B,EAAoCO,cAApC;AACD;AAED;AACF;AACA;;;AACEsB,EAAAA,WAAW,CACTlC,OADS,EAETK,QAFS,EAGTO,cAHS,EAIH;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACU,IAAlC,EAAwC;AACtCM,MAAAA,cADsC;AAEtCuB,MAAAA,MAAM,EAAE,GAF8B;AAGtCC,MAAAA,MAAM,EAAE,CAAC,OAAD,EAAU,MAAV;AAH8B,KAAxC;AAKD;AAED;AACF;AACA;;;AACEC,EAAAA,YAAY,CACVrC,OADU,EAEVK,QAFU,EAGVO,cAHU,EAIJ;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACmB,KAAlC,EAAyC;AACvCH,MAAAA,cADuC;AAEvCuB,MAAAA,MAAM,EAAE,GAF+B;AAGvCC,MAAAA,MAAM,EAAE,CAAC,OAAD;AAH+B,KAAzC;AAKD;AAED;AACF;AACA;;;AACEE,EAAAA,IAAI,CACFtC,OADE,EAEFK,QAFE,EAGFO,cAHE,EAII;AACN,SAAK2B,QAAL,CAAcvC,OAAd,EAAuBK,QAAvB,EAAiCO,cAAjC;AACD;AAED;AACF;AACA;;;AACE2B,EAAAA,QAAQ,CACNvC,OADM,EAENK,QAFM,EAGNO,cAHM,EAIA;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACU,IAAlC,EAAwC;AACtCM,MAAAA,cADsC;AAEtCuB,MAAAA,MAAM,EAAE,GAF8B;AAGtCC,MAAAA,MAAM,EAAE,CAAC,KAAD,EAAQ,MAAR;AAH8B,KAAxC;AAKD;AAED;AACF;AACA;;;AACEI,EAAAA,SAAS,CACPxC,OADO,EAEPK,QAFO,EAGPO,cAHO,EAID;AACN,SAAKb,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BT,KAAK,CAACmB,KAAlC,EAAyC;AACvCH,MAAAA,cADuC;AAEvCuB,MAAAA,MAAM,EAAE,GAF+B;AAGvCC,MAAAA,MAAM,EAAE,CAAC,KAAD;AAH+B,KAAzC;AAKD;AAED;AACF;AACA;;;AACEK,EAAAA,IAAI,CACFzC,OADE,EAEFK,QAFE,EAGFO,cAHE,EAIF3C,KAAa,GAAG2B,KAAK,CAACmB,KAJpB,EAKM;AACR,QAAIf,OAAJ,EAAa;AACX,WAAKD,GAAL,CAASC,OAAT,EAAkBK,QAAlB,EAA4BpC,KAA5B,EAAmC;AAAE2C,QAAAA;AAAF,OAAnC;AACD;;AAED,WAAOH,IAAI,CAACiC,GAAL,EAAP;AACD;;AAEDC,EAAAA,QAAQ,CACN3C,OADM,EAENK,QAFM,EAGNO,cAHM,EAIE;AACR,WAAO,KAAK6B,IAAL,CAAUzC,OAAV,EAAmBK,QAAnB,EAA6BO,cAA7B,EAA6ChB,KAAK,CAACU,IAAnD,CAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACEsC,EAAAA,OAAO,CACLC,SADK,EAEL7C,OAFK,EAGLK,QAHK,EAILO,cAJK,EAKL3C,KAAa,GAAG2B,KAAK,CAACmB,KALjB,EAMLR,OANK,EAOC;AACN,UAAMmC,GAAG,GAAGjC,IAAI,CAACiC,GAAL,EAAZ;AAEA,UAAMI,QAAQ,GAAGJ,GAAG,GAAGG,SAAvB;AACA,QAAIE,YAAJ;;AAEA,QAAID,QAAQ,GAAG,IAAf,EAAqB;AACnBC,MAAAA,YAAY,GAAI,GAAED,QAAS,IAA3B;AACD,KAFD,MAEO;AACL,YAAME,OAAO,GAAGF,QAAQ,GAAG,IAAX,GAAkBG,IAAI,CAACC,KAAL,CAAWJ,QAAQ,GAAG,IAAtB,CAAlB,GAAgD,CAAhE;AAEAC,MAAAA,YAAY,GAAI,GAAEC,OAAO,GAAI,GAAEA,OAAQ,QAAd,GAAwB,EAAG,GADzCF,QAAQ,GAAGE,OAAO,GAAG,IACyB,IAAzD;AACD;;AAED,UAAMzB,gBAAgB,GAAG,EACvB,GAAGlB,QADoB;AAEvB0C,MAAAA,YAFuB;AAGvBI,MAAAA,MAAM,EAAEL;AAHe,KAAzB;AAMA,SAAK/C,GAAL,CAASC,OAAT,EAAkBuB,gBAAlB,EAAoCtD,KAApC,EAA2C,EAAE,GAAGsC,OAAL;AAAcK,MAAAA;AAAd,KAA3C;AACD;AAED;AACF;AACA;;;AACEwC,EAAAA,WAAW,CACTX,IADS,EAETzC,OAFS,EAGTK,QAHS,EAITO,cAJS,EAKH;AACN,SAAKgC,OAAL,CAAaH,IAAb,EAAmBzC,OAAnB,EAA4BK,QAA5B,EAAsCO,cAAtC,EAAsDhB,KAAK,CAACU,IAA5D;AACD;AAED;AACF;AACA;;;AACE+C,EAAAA,kBAAkB,CAChBZ,IADgB,EAEhBzC,OAFgB,EAGhBK,QAHgB,EAIhBO,cAJgB,EAKV;AACN,SAAKgC,OAAL,CAAaH,IAAb,EAAmBzC,OAAnB,EAA4BK,QAA5B,EAAsCO,cAAtC,EAAsDhB,KAAK,CAACU,IAA5D,EAAkE;AAChE6B,MAAAA,MAAM,EAAE,GADwD;AAEhEC,MAAAA,MAAM,EAAE,CAAC,OAAD,EAAU,MAAV;AAFwD,KAAlE;AAID;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACEkB,EAAAA,KAAK,CACHC,EADG,EAEHlD,QAFG,EAGHO,cAHG,EAIG;AACN,UAAMW,gBAAgB,GAAG,EACvB,GAAGlB,QADoB;AAEvBmD,MAAAA,YAAY,EAAED,EAAE,CAAC/B;AAFM,KAAzB;AAIA,SAAKzB,GAAL,CAAS,OAAT,EAAkBwB,gBAAlB,EAAoC3B,KAAK,CAACiB,KAA1C,EAAiD;AAAED,MAAAA;AAAF,KAAjD;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE6C,EAAAA,IAAI,CACFF,EADE,EAEFlD,QAFE,EAGFO,cAHE,EAII;AACN,UAAMW,gBAAgB,GAAG,EACvB,GAAGlB,QADoB;AAEvBmD,MAAAA,YAAY,EAAED,EAAE,CAAC/B;AAFM,KAAzB;AAIA,SAAKzB,GAAL,CAAS,MAAT,EAAiBwB,gBAAjB,EAAmC3B,KAAK,CAACiB,KAAzC,EAAgD;AAAED,MAAAA;AAAF,KAAhD;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAmBE8C,EAAAA,IAAI,CACFH,EADE,EAEFI,OAFE,EAGFC,OAHE,EAIFC,QAJE,EAKI;AACN,QAAIxD,QAAJ;AACA,QAAIO,cAAJ;;AAEA,QAAI,OAAO+C,OAAP,KAAmB,UAAvB,EAAmC;AACjCE,MAAAA,QAAQ,GAAGF,OAAX;AACD,KAFD,MAEO;AACLtD,MAAAA,QAAQ,GAAGsD,OAAX;;AAEA,UAAI,OAAOC,OAAP,KAAmB,UAAvB,EAAmC;AACjCC,QAAAA,QAAQ,GAAGD,OAAX;AACD,OAFD,MAEO;AACLhD,QAAAA,cAAc,GAAGgD,OAAjB;AACD;AACF;;AAED,SAAKN,KAAL,CAAWC,EAAX,EAAelD,QAAf,EAAyBO,cAAzB;AACCiD,IAAAA,QAAD;AACA,SAAKJ,IAAL,CAAUF,EAAV;AACD;;AAllBiB;;;;"}
|
|
@@ -3,11 +3,21 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const util = require('util');
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
function
|
|
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
|
|
20
|
+
const util__namespace = /*#__PURE__*/_interopNamespace(util);
|
|
11
21
|
|
|
12
22
|
/* eslint-disable max-lines */
|
|
13
23
|
|
|
@@ -142,7 +152,7 @@ class Logger {
|
|
|
142
152
|
} = this.getHandlersAndProcessors(record.level);
|
|
143
153
|
|
|
144
154
|
if (handlers.length === 0) {
|
|
145
|
-
if (record.level >
|
|
155
|
+
if (record.level > nightingaleLevels.Level.ERROR) {
|
|
146
156
|
// eslint-disable-next-line no-console
|
|
147
157
|
console.log('[nightingale] no logger for > error level.', {
|
|
148
158
|
key: record.key,
|
|
@@ -154,7 +164,9 @@ class Logger {
|
|
|
154
164
|
}
|
|
155
165
|
|
|
156
166
|
if (processors) {
|
|
157
|
-
processors.forEach(process =>
|
|
167
|
+
processors.forEach(process => {
|
|
168
|
+
process(record, record.context);
|
|
169
|
+
});
|
|
158
170
|
}
|
|
159
171
|
|
|
160
172
|
handlers.some(handler => handler.handle(record) === false);
|
|
@@ -164,7 +176,7 @@ class Logger {
|
|
|
164
176
|
*/
|
|
165
177
|
|
|
166
178
|
|
|
167
|
-
log(message, metadata, level =
|
|
179
|
+
log(message, metadata, level = nightingaleLevels.Level.INFO, options) {
|
|
168
180
|
const context = metadata === null || metadata === void 0 ? void 0 : metadata.context;
|
|
169
181
|
|
|
170
182
|
if (metadata) {
|
|
@@ -190,7 +202,7 @@ class Logger {
|
|
|
190
202
|
|
|
191
203
|
|
|
192
204
|
trace(message, metadata, metadataStyles) {
|
|
193
|
-
this.log(message, metadata,
|
|
205
|
+
this.log(message, metadata, nightingaleLevels.Level.TRACE, {
|
|
194
206
|
metadataStyles
|
|
195
207
|
});
|
|
196
208
|
}
|
|
@@ -200,7 +212,7 @@ class Logger {
|
|
|
200
212
|
|
|
201
213
|
|
|
202
214
|
debug(message, metadata, metadataStyles) {
|
|
203
|
-
this.log(message, metadata,
|
|
215
|
+
this.log(message, metadata, nightingaleLevels.Level.DEBUG, {
|
|
204
216
|
metadataStyles
|
|
205
217
|
});
|
|
206
218
|
}
|
|
@@ -210,7 +222,7 @@ class Logger {
|
|
|
210
222
|
|
|
211
223
|
|
|
212
224
|
notice(message, metadata, metadataStyles) {
|
|
213
|
-
this.log(message, metadata,
|
|
225
|
+
this.log(message, metadata, nightingaleLevels.Level.NOTICE, {
|
|
214
226
|
metadataStyles
|
|
215
227
|
});
|
|
216
228
|
}
|
|
@@ -220,7 +232,7 @@ class Logger {
|
|
|
220
232
|
|
|
221
233
|
|
|
222
234
|
info(message, metadata, metadataStyles) {
|
|
223
|
-
this.log(message, metadata,
|
|
235
|
+
this.log(message, metadata, nightingaleLevels.Level.INFO, {
|
|
224
236
|
metadataStyles
|
|
225
237
|
});
|
|
226
238
|
}
|
|
@@ -230,7 +242,7 @@ class Logger {
|
|
|
230
242
|
|
|
231
243
|
|
|
232
244
|
warn(message, metadata, metadataStyles) {
|
|
233
|
-
this.log(message, metadata,
|
|
245
|
+
this.log(message, metadata, nightingaleLevels.Level.WARN, {
|
|
234
246
|
metadataStyles
|
|
235
247
|
});
|
|
236
248
|
}
|
|
@@ -255,11 +267,11 @@ class Logger {
|
|
|
255
267
|
error: message
|
|
256
268
|
};
|
|
257
269
|
message = `${extendedMetadata.error.name}: ${extendedMetadata.error.message}`;
|
|
258
|
-
this.log(message, extendedMetadata,
|
|
270
|
+
this.log(message, extendedMetadata, nightingaleLevels.Level.ERROR, {
|
|
259
271
|
metadataStyles
|
|
260
272
|
});
|
|
261
273
|
} else {
|
|
262
|
-
this.log(message, metadata,
|
|
274
|
+
this.log(message, metadata, nightingaleLevels.Level.ERROR, {
|
|
263
275
|
metadataStyles
|
|
264
276
|
});
|
|
265
277
|
}
|
|
@@ -270,7 +282,7 @@ class Logger {
|
|
|
270
282
|
|
|
271
283
|
|
|
272
284
|
critical(message, metadata, metadataStyles) {
|
|
273
|
-
this.log(message, metadata,
|
|
285
|
+
this.log(message, metadata, nightingaleLevels.Level.CRITICAL, {
|
|
274
286
|
metadataStyles
|
|
275
287
|
});
|
|
276
288
|
}
|
|
@@ -290,7 +302,7 @@ class Logger {
|
|
|
290
302
|
|
|
291
303
|
|
|
292
304
|
fatal(message, metadata, metadataStyles) {
|
|
293
|
-
this.log(message, metadata,
|
|
305
|
+
this.log(message, metadata, nightingaleLevels.Level.FATAL, {
|
|
294
306
|
metadataStyles
|
|
295
307
|
});
|
|
296
308
|
}
|
|
@@ -300,7 +312,7 @@ class Logger {
|
|
|
300
312
|
|
|
301
313
|
|
|
302
314
|
alert(message, metadata, metadataStyles) {
|
|
303
|
-
this.log(message, metadata,
|
|
315
|
+
this.log(message, metadata, nightingaleLevels.Level.ALERT, {
|
|
304
316
|
metadataStyles
|
|
305
317
|
});
|
|
306
318
|
}
|
|
@@ -313,10 +325,10 @@ class Logger {
|
|
|
313
325
|
{
|
|
314
326
|
// Note: inspect is a special function for node:
|
|
315
327
|
// https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210
|
|
316
|
-
const inspectedValue =
|
|
328
|
+
const inspectedValue = util__namespace.inspect(value, {
|
|
317
329
|
depth: 6
|
|
318
330
|
});
|
|
319
|
-
this.log(inspectedValue, metadata,
|
|
331
|
+
this.log(inspectedValue, metadata, nightingaleLevels.Level.DEBUG, {
|
|
320
332
|
metadataStyles,
|
|
321
333
|
styles: ['gray']
|
|
322
334
|
});
|
|
@@ -329,10 +341,10 @@ class Logger {
|
|
|
329
341
|
|
|
330
342
|
inspectVar(varName, varValue, metadata, metadataStyles) {
|
|
331
343
|
{
|
|
332
|
-
const inspectedValue =
|
|
344
|
+
const inspectedValue = util__namespace.inspect(varValue, {
|
|
333
345
|
depth: 6
|
|
334
346
|
});
|
|
335
|
-
this.log(`${varName} = ${inspectedValue}`, metadata,
|
|
347
|
+
this.log(`${varName} = ${inspectedValue}`, metadata, nightingaleLevels.Level.DEBUG, {
|
|
336
348
|
metadataStyles,
|
|
337
349
|
styles: ['cyan']
|
|
338
350
|
});
|
|
@@ -352,7 +364,7 @@ class Logger {
|
|
|
352
364
|
|
|
353
365
|
|
|
354
366
|
infoSuccess(message, metadata, metadataStyles) {
|
|
355
|
-
this.log(message, metadata,
|
|
367
|
+
this.log(message, metadata, nightingaleLevels.Level.INFO, {
|
|
356
368
|
metadataStyles,
|
|
357
369
|
symbol: '✔',
|
|
358
370
|
styles: ['green', 'bold']
|
|
@@ -364,7 +376,7 @@ class Logger {
|
|
|
364
376
|
|
|
365
377
|
|
|
366
378
|
debugSuccess(message, metadata, metadataStyles) {
|
|
367
|
-
this.log(message, metadata,
|
|
379
|
+
this.log(message, metadata, nightingaleLevels.Level.DEBUG, {
|
|
368
380
|
metadataStyles,
|
|
369
381
|
symbol: '✔',
|
|
370
382
|
styles: ['green']
|
|
@@ -384,7 +396,7 @@ class Logger {
|
|
|
384
396
|
|
|
385
397
|
|
|
386
398
|
infoFail(message, metadata, metadataStyles) {
|
|
387
|
-
this.log(message, metadata,
|
|
399
|
+
this.log(message, metadata, nightingaleLevels.Level.INFO, {
|
|
388
400
|
metadataStyles,
|
|
389
401
|
symbol: '✖',
|
|
390
402
|
styles: ['red', 'bold']
|
|
@@ -396,7 +408,7 @@ class Logger {
|
|
|
396
408
|
|
|
397
409
|
|
|
398
410
|
debugFail(message, metadata, metadataStyles) {
|
|
399
|
-
this.log(message, metadata,
|
|
411
|
+
this.log(message, metadata, nightingaleLevels.Level.DEBUG, {
|
|
400
412
|
metadataStyles,
|
|
401
413
|
symbol: '✖',
|
|
402
414
|
styles: ['red']
|
|
@@ -407,7 +419,7 @@ class Logger {
|
|
|
407
419
|
*/
|
|
408
420
|
|
|
409
421
|
|
|
410
|
-
time(message, metadata, metadataStyles, level =
|
|
422
|
+
time(message, metadata, metadataStyles, level = nightingaleLevels.Level.DEBUG) {
|
|
411
423
|
if (message) {
|
|
412
424
|
this.log(message, metadata, level, {
|
|
413
425
|
metadataStyles
|
|
@@ -418,7 +430,7 @@ class Logger {
|
|
|
418
430
|
}
|
|
419
431
|
|
|
420
432
|
infoTime(message, metadata, metadataStyles) {
|
|
421
|
-
return this.time(message, metadata, metadataStyles,
|
|
433
|
+
return this.time(message, metadata, metadataStyles, nightingaleLevels.Level.INFO);
|
|
422
434
|
}
|
|
423
435
|
/**
|
|
424
436
|
* Finds difference between when this method
|
|
@@ -428,7 +440,7 @@ class Logger {
|
|
|
428
440
|
*/
|
|
429
441
|
|
|
430
442
|
|
|
431
|
-
timeEnd(startTime, message, metadata, metadataStyles, level =
|
|
443
|
+
timeEnd(startTime, message, metadata, metadataStyles, level = nightingaleLevels.Level.DEBUG, options) {
|
|
432
444
|
const now = Date.now();
|
|
433
445
|
const diffTime = now - startTime;
|
|
434
446
|
let readableTime;
|
|
@@ -454,7 +466,7 @@ class Logger {
|
|
|
454
466
|
|
|
455
467
|
|
|
456
468
|
infoTimeEnd(time, message, metadata, metadataStyles) {
|
|
457
|
-
this.timeEnd(time, message, metadata, metadataStyles,
|
|
469
|
+
this.timeEnd(time, message, metadata, metadataStyles, nightingaleLevels.Level.INFO);
|
|
458
470
|
}
|
|
459
471
|
/**
|
|
460
472
|
* Like timeEnd, but with INFO level
|
|
@@ -462,7 +474,7 @@ class Logger {
|
|
|
462
474
|
|
|
463
475
|
|
|
464
476
|
infoSuccessTimeEnd(time, message, metadata, metadataStyles) {
|
|
465
|
-
this.timeEnd(time, message, metadata, metadataStyles,
|
|
477
|
+
this.timeEnd(time, message, metadata, metadataStyles, nightingaleLevels.Level.INFO, {
|
|
466
478
|
symbol: '✔',
|
|
467
479
|
styles: ['green', 'bold']
|
|
468
480
|
});
|
|
@@ -487,7 +499,7 @@ class Logger {
|
|
|
487
499
|
const extendedMetadata = { ...metadata,
|
|
488
500
|
functionName: fn.name
|
|
489
501
|
};
|
|
490
|
-
this.log('enter', extendedMetadata,
|
|
502
|
+
this.log('enter', extendedMetadata, nightingaleLevels.Level.TRACE, {
|
|
491
503
|
metadataStyles
|
|
492
504
|
});
|
|
493
505
|
}
|
|
@@ -511,7 +523,7 @@ class Logger {
|
|
|
511
523
|
const extendedMetadata = { ...metadata,
|
|
512
524
|
functionName: fn.name
|
|
513
525
|
};
|
|
514
|
-
this.log('exit', extendedMetadata,
|
|
526
|
+
this.log('exit', extendedMetadata, nightingaleLevels.Level.TRACE, {
|
|
515
527
|
metadataStyles
|
|
516
528
|
});
|
|
517
529
|
}
|
|
@@ -555,7 +567,7 @@ class Logger {
|
|
|
555
567
|
|
|
556
568
|
}
|
|
557
569
|
|
|
558
|
-
exports.Level =
|
|
570
|
+
exports.Level = nightingaleLevels.Level;
|
|
559
571
|
exports.Logger = Logger;
|
|
560
|
-
exports
|
|
572
|
+
exports["default"] = Logger;
|
|
561
573
|
//# sourceMappingURL=index-node12-dev.cjs.js.map
|