nightingale-logger 15.0.0 → 16.0.0
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/CHANGELOG.md +14 -0
- package/README.md +11 -11
- package/dist/definitions/index.d.ts +3 -3
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/index-browser.es.js +23 -25
- package/dist/index-browser.es.js.map +1 -1
- package/dist/{index-node18.mjs → index-node20.mjs} +23 -24
- package/dist/index-node20.mjs.map +1 -0
- package/package.json +29 -28
- package/src/index.test.ts +14 -14
- package/src/index.ts +41 -43
- package/dist/index-node18.mjs.map +0 -1
- package/src/.eslintrc.json +0 -30
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [16.0.0](https://github.com/christophehurpeau/nightingale/compare/v15.0.0...v16.0.0) (2025-03-30)
|
|
7
|
+
|
|
8
|
+
### ⚠ BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* drop node 18
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* drop node 18 ([1b11a55](https://github.com/christophehurpeau/nightingale/commit/1b11a55dd24c9435be50519a748316079f554414))
|
|
15
|
+
|
|
16
|
+
Version bump for dependency: nightingale-levels
|
|
17
|
+
Version bump for dependency: nightingale-types
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
## [15.0.0](https://github.com/christophehurpeau/nightingale/compare/v14.2.1...v15.0.0) (2023-12-25)
|
|
7
21
|
|
|
8
22
|
|
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<
|
|
1
|
+
<h1 align="center">
|
|
2
2
|
nightingale-logger
|
|
3
|
-
</
|
|
3
|
+
</h1>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
Logger for browser and node
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/npm/v/nightingale-logger.svg?style=flat-square"></a>
|
|
11
|
-
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/npm/dw/nightingale-logger.svg?style=flat-square"></a>
|
|
12
|
-
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/node/v/nightingale-logger.svg?style=flat-square"></a>
|
|
13
|
-
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/npm/types/nightingale-logger.svg?style=flat-square"></a>
|
|
10
|
+
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/npm/v/nightingale-logger.svg?style=flat-square" alt="npm version"></a>
|
|
11
|
+
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/npm/dw/nightingale-logger.svg?style=flat-square" alt="npm downloads"></a>
|
|
12
|
+
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/node/v/nightingale-logger.svg?style=flat-square" alt="node version"></a>
|
|
13
|
+
<a href="https://npmjs.org/package/nightingale-logger"><img src="https://img.shields.io/npm/types/nightingale-logger.svg?style=flat-square" alt="types"></a>
|
|
14
14
|
<a href="https://codecov.io/gh/christophehurpeau/nightingale"><img src="https://img.shields.io/codecov/c/github/christophehurpeau/nightingale/master.svg?style=flat-square"></a>
|
|
15
15
|
</p>
|
|
16
16
|
|
|
@@ -33,11 +33,11 @@ npm install --save nightingale-logger
|
|
|
33
33
|
## Usage
|
|
34
34
|
|
|
35
35
|
```js
|
|
36
|
-
import Logger from
|
|
36
|
+
import Logger from "nightingale-logger";
|
|
37
37
|
|
|
38
|
-
const logger = new Logger(
|
|
38
|
+
const logger = new Logger("mylib");
|
|
39
39
|
|
|
40
|
-
logger.info(
|
|
41
|
-
logger.warn(
|
|
42
|
-
logger.success(
|
|
40
|
+
logger.info("This is a log");
|
|
41
|
+
logger.warn("This is a warning !");
|
|
42
|
+
logger.success("It works !");
|
|
43
43
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Level } from
|
|
2
|
-
import type {
|
|
3
|
-
export { Level } from
|
|
1
|
+
import { Level } from "nightingale-levels";
|
|
2
|
+
import type { Handler, LogRecord, Metadata, MetadataStyles, Processor, Styles } from "nightingale-types";
|
|
3
|
+
export { Level } from "nightingale-levels";
|
|
4
4
|
export interface Options<T extends Metadata> {
|
|
5
5
|
symbol?: string;
|
|
6
6
|
metadataStyles?: MetadataStyles<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index-browser.es.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Level } from 'nightingale-levels';
|
|
2
2
|
export { Level } from 'nightingale-levels';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const globalOrWindow = typeof global !== 'undefined' ? global : window;
|
|
4
|
+
const globalOrWindow = typeof globalThis !== "undefined" ? globalThis : globalThis;
|
|
7
5
|
if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {
|
|
8
6
|
globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = () => ({
|
|
9
7
|
handlers: [],
|
|
@@ -43,7 +41,7 @@ class Logger {
|
|
|
43
41
|
constructor(key, displayName) {
|
|
44
42
|
this.key = key;
|
|
45
43
|
this.displayName = displayName;
|
|
46
|
-
if (process.env.NODE_ENV !==
|
|
44
|
+
if (process.env.NODE_ENV !== "production" && key.includes(".")) {
|
|
47
45
|
throw new Error(`nightingale: \`.\` in key is no longer supported, use \`:\` instead (key: ${key})`);
|
|
48
46
|
}
|
|
49
47
|
}
|
|
@@ -109,7 +107,7 @@ class Logger {
|
|
|
109
107
|
*/
|
|
110
108
|
extendsContext(extendedContext) {
|
|
111
109
|
if (this.contextObject === undefined) {
|
|
112
|
-
throw new Error(
|
|
110
|
+
throw new Error("Cannot extends context that does not exists. Use setContext(context) first.");
|
|
113
111
|
}
|
|
114
112
|
Object.assign(this.contextObject, extendedContext);
|
|
115
113
|
}
|
|
@@ -127,7 +125,7 @@ class Logger {
|
|
|
127
125
|
if (handlers.length === 0) {
|
|
128
126
|
if (record.level > Level.ERROR) {
|
|
129
127
|
// eslint-disable-next-line no-console
|
|
130
|
-
console.log(
|
|
128
|
+
console.log("[nightingale] no logger for > error level.", {
|
|
131
129
|
key: record.key,
|
|
132
130
|
message: record.message
|
|
133
131
|
});
|
|
@@ -148,11 +146,11 @@ class Logger {
|
|
|
148
146
|
log(messageOrError, metadata, level = Level.INFO, options) {
|
|
149
147
|
const isMessageError = isError(messageOrError);
|
|
150
148
|
const message = isMessageError ? `${messageOrError.name}: ${messageOrError.message}` : messageOrError;
|
|
151
|
-
const extendedMetadata = isMessageError && !(metadata && Object.
|
|
149
|
+
const extendedMetadata = isMessageError && !(metadata && Object.hasOwn(metadata, "error")) ? {
|
|
152
150
|
...metadata,
|
|
153
151
|
error: messageOrError
|
|
154
152
|
} : metadata;
|
|
155
|
-
const context = extendedMetadata
|
|
153
|
+
const context = extendedMetadata?.context;
|
|
156
154
|
if (extendedMetadata) {
|
|
157
155
|
delete extendedMetadata.context;
|
|
158
156
|
}
|
|
@@ -275,14 +273,14 @@ class Logger {
|
|
|
275
273
|
* Log an inspected value
|
|
276
274
|
*/
|
|
277
275
|
inspectValue() {
|
|
278
|
-
throw new Error(
|
|
276
|
+
throw new Error("Not supported for the browser. Prefer `debugger;`");
|
|
279
277
|
}
|
|
280
278
|
|
|
281
279
|
/**
|
|
282
280
|
* Log a debugged var
|
|
283
281
|
*/
|
|
284
282
|
inspectVar() {
|
|
285
|
-
throw new Error(
|
|
283
|
+
throw new Error("Not supported for the browser. Prefer `debugger;`");
|
|
286
284
|
}
|
|
287
285
|
|
|
288
286
|
/**
|
|
@@ -298,8 +296,8 @@ class Logger {
|
|
|
298
296
|
infoSuccess(message, metadata, metadataStyles) {
|
|
299
297
|
this.log(message, metadata, Level.INFO, {
|
|
300
298
|
metadataStyles,
|
|
301
|
-
symbol:
|
|
302
|
-
styles: [
|
|
299
|
+
symbol: "✔",
|
|
300
|
+
styles: ["green", "bold"]
|
|
303
301
|
});
|
|
304
302
|
}
|
|
305
303
|
|
|
@@ -309,8 +307,8 @@ class Logger {
|
|
|
309
307
|
debugSuccess(message, metadata, metadataStyles) {
|
|
310
308
|
this.log(message, metadata, Level.DEBUG, {
|
|
311
309
|
metadataStyles,
|
|
312
|
-
symbol:
|
|
313
|
-
styles: [
|
|
310
|
+
symbol: "✔",
|
|
311
|
+
styles: ["green"]
|
|
314
312
|
});
|
|
315
313
|
}
|
|
316
314
|
|
|
@@ -327,8 +325,8 @@ class Logger {
|
|
|
327
325
|
infoFail(messageOrError, metadata, metadataStyles) {
|
|
328
326
|
this.log(messageOrError, metadata, Level.INFO, {
|
|
329
327
|
metadataStyles,
|
|
330
|
-
symbol:
|
|
331
|
-
styles: [
|
|
328
|
+
symbol: "✖",
|
|
329
|
+
styles: ["red", "bold"]
|
|
332
330
|
});
|
|
333
331
|
}
|
|
334
332
|
|
|
@@ -338,8 +336,8 @@ class Logger {
|
|
|
338
336
|
debugFail(messageOrError, metadata, metadataStyles) {
|
|
339
337
|
this.log(messageOrError, metadata, Level.DEBUG, {
|
|
340
338
|
metadataStyles,
|
|
341
|
-
symbol:
|
|
342
|
-
styles: [
|
|
339
|
+
symbol: "✖",
|
|
340
|
+
styles: ["red"]
|
|
343
341
|
});
|
|
344
342
|
}
|
|
345
343
|
|
|
@@ -372,7 +370,7 @@ class Logger {
|
|
|
372
370
|
readableTime = `${diffTime}ms`;
|
|
373
371
|
} else {
|
|
374
372
|
const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;
|
|
375
|
-
readableTime = `${seconds ? `${seconds}s and ` :
|
|
373
|
+
readableTime = `${seconds ? `${seconds}s and ` : ""}${diffTime - seconds * 1000}ms`;
|
|
376
374
|
}
|
|
377
375
|
const extendedMetadata = {
|
|
378
376
|
...metadata,
|
|
@@ -397,8 +395,8 @@ class Logger {
|
|
|
397
395
|
*/
|
|
398
396
|
infoSuccessTimeEnd(time, message, metadata, metadataStyles) {
|
|
399
397
|
this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {
|
|
400
|
-
symbol:
|
|
401
|
-
styles: [
|
|
398
|
+
symbol: "✔",
|
|
399
|
+
styles: ["green", "bold"]
|
|
402
400
|
});
|
|
403
401
|
}
|
|
404
402
|
|
|
@@ -421,7 +419,7 @@ class Logger {
|
|
|
421
419
|
...metadata,
|
|
422
420
|
functionName: fn.name
|
|
423
421
|
};
|
|
424
|
-
this.log(
|
|
422
|
+
this.log("enter", extendedMetadata, Level.TRACE, {
|
|
425
423
|
metadataStyles
|
|
426
424
|
});
|
|
427
425
|
}
|
|
@@ -445,7 +443,7 @@ class Logger {
|
|
|
445
443
|
...metadata,
|
|
446
444
|
functionName: fn.name
|
|
447
445
|
};
|
|
448
|
-
this.log(
|
|
446
|
+
this.log("exit", extendedMetadata, Level.TRACE, {
|
|
449
447
|
metadataStyles
|
|
450
448
|
});
|
|
451
449
|
}
|
|
@@ -469,11 +467,11 @@ class Logger {
|
|
|
469
467
|
wrap(fn, option1, option2, callback) {
|
|
470
468
|
let metadata;
|
|
471
469
|
let metadataStyles;
|
|
472
|
-
if (typeof option1 ===
|
|
470
|
+
if (typeof option1 === "function") {
|
|
473
471
|
callback = option1;
|
|
474
472
|
} else {
|
|
475
473
|
metadata = option1;
|
|
476
|
-
if (typeof option2 ===
|
|
474
|
+
if (typeof option2 === "function") {
|
|
477
475
|
callback = option2;
|
|
478
476
|
} else {
|
|
479
477
|
metadataStyles = option2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport * as util from 'node:util';\nimport { POB_TARGET } from 'pob-babel';\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 } from 'nightingale-levels';\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\nexport interface 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 vars-on-top, no-var\n var __NIGHTINGALE_CONFIG: Config[];\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n}\n\nconst globalOrWindow: typeof global =\n typeof global !== 'undefined' ? global : (window as typeof global);\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER =\n (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: Level,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n globalOrWindow.__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\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(\n key,\n recordLevel,\n );\n}\n\nfunction isError(messageOrError: Error | string): messageOrError is Error {\n return messageOrError instanceof Error;\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 (process.env.NODE_ENV !== '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 globalOrWindow.__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 if (this.contextObject === undefined) {\n throw new Error(\n 'Cannot extends context that does not exists. Use setContext(context) first.',\n );\n }\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 messageOrError: Error | string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const isMessageError = isError(messageOrError);\n\n const message = isMessageError\n ? `${messageOrError.name}: ${messageOrError.message}`\n : messageOrError;\n\n const extendedMetadata =\n isMessageError &&\n !(metadata && Object.prototype.hasOwnProperty.call(metadata, 'error'))\n ? { ...metadata, error: messageOrError }\n : metadata;\n\n const context = extendedMetadata?.context;\n if (extendedMetadata) {\n delete extendedMetadata.context;\n }\n\n const record: LogRecord<NonNullable<typeof extendedMetadata>> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata: extendedMetadata as NonNullable<typeof extendedMetadata>,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.ERROR, { metadataStyles });\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(messageOrError, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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<ExtendedFunctionNameMetadata & T>,\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<ExtendedFunctionNameMetadata & T>,\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"],"names":["globalOrWindow","global","window","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","isError","messageOrError","Error","Logger","constructor","displayName","process","env","NODE_ENV","includes","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","undefined","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","some","handle","metadata","INFO","options","isMessageError","name","extendedMetadata","prototype","hasOwnProperty","call","error","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","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-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import * as util from \"node:util\";\nimport { Level } from \"nightingale-levels\";\nimport type {\n Handler,\n LogRecord,\n Metadata,\n MetadataStyles,\n Processor,\n Styles,\n} from \"nightingale-types\";\nimport { POB_TARGET } from \"pob-babel\";\n\nexport { Level } from \"nightingale-levels\";\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\nexport interface 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 no-var\n var __NIGHTINGALE_CONFIG: Config[];\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n}\n\nconst globalOrWindow: typeof globalThis =\n typeof globalThis !== \"undefined\" ? globalThis : globalThis;\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER =\n (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: Level,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n globalOrWindow.__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\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(\n key,\n recordLevel,\n );\n}\n\nfunction isError(messageOrError: Error | string): messageOrError is Error {\n return messageOrError instanceof Error;\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 (process.env.NODE_ENV !== \"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 globalOrWindow.__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 if (this.contextObject === undefined) {\n throw new Error(\n \"Cannot extends context that does not exists. Use setContext(context) first.\",\n );\n }\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 messageOrError: Error | string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const isMessageError = isError(messageOrError);\n\n const message = isMessageError\n ? `${messageOrError.name}: ${messageOrError.message}`\n : messageOrError;\n\n const extendedMetadata =\n isMessageError && !(metadata && Object.hasOwn(metadata, \"error\"))\n ? { ...metadata, error: messageOrError }\n : metadata;\n\n const context = extendedMetadata?.context;\n if (extendedMetadata) {\n delete extendedMetadata.context;\n }\n\n const record: LogRecord<NonNullable<typeof extendedMetadata>> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata: extendedMetadata as NonNullable<typeof extendedMetadata>,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.ERROR, { metadataStyles });\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(messageOrError, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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<ExtendedFunctionNameMetadata & T>,\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<ExtendedFunctionNameMetadata & T>,\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"],"names":["globalOrWindow","globalThis","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","isError","messageOrError","Error","Logger","constructor","displayName","process","env","NODE_ENV","includes","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","undefined","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","some","handle","metadata","INFO","options","isMessageError","name","extendedMetadata","hasOwn","error","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","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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"}
|
|
@@ -2,8 +2,7 @@ import * as util from 'node:util';
|
|
|
2
2
|
import { Level } from 'nightingale-levels';
|
|
3
3
|
export { Level } from 'nightingale-levels';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
const globalOrWindow = typeof global !== 'undefined' ? global : window;
|
|
5
|
+
const globalOrWindow = typeof globalThis !== "undefined" ? globalThis : globalThis;
|
|
7
6
|
if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {
|
|
8
7
|
globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = () => ({
|
|
9
8
|
handlers: [],
|
|
@@ -43,7 +42,7 @@ class Logger {
|
|
|
43
42
|
constructor(key, displayName) {
|
|
44
43
|
this.key = key;
|
|
45
44
|
this.displayName = displayName;
|
|
46
|
-
if (process.env.NODE_ENV !==
|
|
45
|
+
if (process.env.NODE_ENV !== "production" && key.includes(".")) {
|
|
47
46
|
throw new Error(`nightingale: \`.\` in key is no longer supported, use \`:\` instead (key: ${key})`);
|
|
48
47
|
}
|
|
49
48
|
}
|
|
@@ -109,7 +108,7 @@ class Logger {
|
|
|
109
108
|
*/
|
|
110
109
|
extendsContext(extendedContext) {
|
|
111
110
|
if (this.contextObject === undefined) {
|
|
112
|
-
throw new Error(
|
|
111
|
+
throw new Error("Cannot extends context that does not exists. Use setContext(context) first.");
|
|
113
112
|
}
|
|
114
113
|
Object.assign(this.contextObject, extendedContext);
|
|
115
114
|
}
|
|
@@ -127,7 +126,7 @@ class Logger {
|
|
|
127
126
|
if (handlers.length === 0) {
|
|
128
127
|
if (record.level > Level.ERROR) {
|
|
129
128
|
// eslint-disable-next-line no-console
|
|
130
|
-
console.log(
|
|
129
|
+
console.log("[nightingale] no logger for > error level.", {
|
|
131
130
|
key: record.key,
|
|
132
131
|
message: record.message
|
|
133
132
|
});
|
|
@@ -148,7 +147,7 @@ class Logger {
|
|
|
148
147
|
log(messageOrError, metadata, level = Level.INFO, options) {
|
|
149
148
|
const isMessageError = isError(messageOrError);
|
|
150
149
|
const message = isMessageError ? `${messageOrError.name}: ${messageOrError.message}` : messageOrError;
|
|
151
|
-
const extendedMetadata = isMessageError && !(metadata && Object.
|
|
150
|
+
const extendedMetadata = isMessageError && !(metadata && Object.hasOwn(metadata, "error")) ? {
|
|
152
151
|
...metadata,
|
|
153
152
|
error: messageOrError
|
|
154
153
|
} : metadata;
|
|
@@ -283,7 +282,7 @@ class Logger {
|
|
|
283
282
|
});
|
|
284
283
|
this.log(inspectedValue, metadata, Level.DEBUG, {
|
|
285
284
|
metadataStyles,
|
|
286
|
-
styles: [
|
|
285
|
+
styles: ["gray"]
|
|
287
286
|
});
|
|
288
287
|
}
|
|
289
288
|
}
|
|
@@ -298,7 +297,7 @@ class Logger {
|
|
|
298
297
|
});
|
|
299
298
|
this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {
|
|
300
299
|
metadataStyles,
|
|
301
|
-
styles: [
|
|
300
|
+
styles: ["cyan"]
|
|
302
301
|
});
|
|
303
302
|
}
|
|
304
303
|
}
|
|
@@ -316,8 +315,8 @@ class Logger {
|
|
|
316
315
|
infoSuccess(message, metadata, metadataStyles) {
|
|
317
316
|
this.log(message, metadata, Level.INFO, {
|
|
318
317
|
metadataStyles,
|
|
319
|
-
symbol:
|
|
320
|
-
styles: [
|
|
318
|
+
symbol: "✔",
|
|
319
|
+
styles: ["green", "bold"]
|
|
321
320
|
});
|
|
322
321
|
}
|
|
323
322
|
|
|
@@ -327,8 +326,8 @@ class Logger {
|
|
|
327
326
|
debugSuccess(message, metadata, metadataStyles) {
|
|
328
327
|
this.log(message, metadata, Level.DEBUG, {
|
|
329
328
|
metadataStyles,
|
|
330
|
-
symbol:
|
|
331
|
-
styles: [
|
|
329
|
+
symbol: "✔",
|
|
330
|
+
styles: ["green"]
|
|
332
331
|
});
|
|
333
332
|
}
|
|
334
333
|
|
|
@@ -345,8 +344,8 @@ class Logger {
|
|
|
345
344
|
infoFail(messageOrError, metadata, metadataStyles) {
|
|
346
345
|
this.log(messageOrError, metadata, Level.INFO, {
|
|
347
346
|
metadataStyles,
|
|
348
|
-
symbol:
|
|
349
|
-
styles: [
|
|
347
|
+
symbol: "✖",
|
|
348
|
+
styles: ["red", "bold"]
|
|
350
349
|
});
|
|
351
350
|
}
|
|
352
351
|
|
|
@@ -356,8 +355,8 @@ class Logger {
|
|
|
356
355
|
debugFail(messageOrError, metadata, metadataStyles) {
|
|
357
356
|
this.log(messageOrError, metadata, Level.DEBUG, {
|
|
358
357
|
metadataStyles,
|
|
359
|
-
symbol:
|
|
360
|
-
styles: [
|
|
358
|
+
symbol: "✖",
|
|
359
|
+
styles: ["red"]
|
|
361
360
|
});
|
|
362
361
|
}
|
|
363
362
|
|
|
@@ -390,7 +389,7 @@ class Logger {
|
|
|
390
389
|
readableTime = `${diffTime}ms`;
|
|
391
390
|
} else {
|
|
392
391
|
const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;
|
|
393
|
-
readableTime = `${seconds ? `${seconds}s and ` :
|
|
392
|
+
readableTime = `${seconds ? `${seconds}s and ` : ""}${diffTime - seconds * 1000}ms`;
|
|
394
393
|
}
|
|
395
394
|
const extendedMetadata = {
|
|
396
395
|
...metadata,
|
|
@@ -415,8 +414,8 @@ class Logger {
|
|
|
415
414
|
*/
|
|
416
415
|
infoSuccessTimeEnd(time, message, metadata, metadataStyles) {
|
|
417
416
|
this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {
|
|
418
|
-
symbol:
|
|
419
|
-
styles: [
|
|
417
|
+
symbol: "✔",
|
|
418
|
+
styles: ["green", "bold"]
|
|
420
419
|
});
|
|
421
420
|
}
|
|
422
421
|
|
|
@@ -439,7 +438,7 @@ class Logger {
|
|
|
439
438
|
...metadata,
|
|
440
439
|
functionName: fn.name
|
|
441
440
|
};
|
|
442
|
-
this.log(
|
|
441
|
+
this.log("enter", extendedMetadata, Level.TRACE, {
|
|
443
442
|
metadataStyles
|
|
444
443
|
});
|
|
445
444
|
}
|
|
@@ -463,7 +462,7 @@ class Logger {
|
|
|
463
462
|
...metadata,
|
|
464
463
|
functionName: fn.name
|
|
465
464
|
};
|
|
466
|
-
this.log(
|
|
465
|
+
this.log("exit", extendedMetadata, Level.TRACE, {
|
|
467
466
|
metadataStyles
|
|
468
467
|
});
|
|
469
468
|
}
|
|
@@ -487,11 +486,11 @@ class Logger {
|
|
|
487
486
|
wrap(fn, option1, option2, callback) {
|
|
488
487
|
let metadata;
|
|
489
488
|
let metadataStyles;
|
|
490
|
-
if (typeof option1 ===
|
|
489
|
+
if (typeof option1 === "function") {
|
|
491
490
|
callback = option1;
|
|
492
491
|
} else {
|
|
493
492
|
metadata = option1;
|
|
494
|
-
if (typeof option2 ===
|
|
493
|
+
if (typeof option2 === "function") {
|
|
495
494
|
callback = option2;
|
|
496
495
|
} else {
|
|
497
496
|
metadataStyles = option2;
|
|
@@ -504,4 +503,4 @@ class Logger {
|
|
|
504
503
|
}
|
|
505
504
|
|
|
506
505
|
export { Logger };
|
|
507
|
-
//# sourceMappingURL=index-
|
|
506
|
+
//# sourceMappingURL=index-node20.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-node20.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as util from \"node:util\";\nimport { Level } from \"nightingale-levels\";\nimport type {\n Handler,\n LogRecord,\n Metadata,\n MetadataStyles,\n Processor,\n Styles,\n} from \"nightingale-types\";\nimport { POB_TARGET } from \"pob-babel\";\n\nexport { Level } from \"nightingale-levels\";\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\nexport interface 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 no-var\n var __NIGHTINGALE_CONFIG: Config[];\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n // eslint-disable-next-line no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n}\n\nconst globalOrWindow: typeof globalThis =\n typeof globalThis !== \"undefined\" ? globalThis : globalThis;\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER =\n (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: Level,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n globalOrWindow.__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\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(\n key,\n recordLevel,\n );\n}\n\nfunction isError(messageOrError: Error | string): messageOrError is Error {\n return messageOrError instanceof Error;\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 (process.env.NODE_ENV !== \"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 globalOrWindow.__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 if (this.contextObject === undefined) {\n throw new Error(\n \"Cannot extends context that does not exists. Use setContext(context) first.\",\n );\n }\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 messageOrError: Error | string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const isMessageError = isError(messageOrError);\n\n const message = isMessageError\n ? `${messageOrError.name}: ${messageOrError.message}`\n : messageOrError;\n\n const extendedMetadata =\n isMessageError && !(metadata && Object.hasOwn(metadata, \"error\"))\n ? { ...metadata, error: messageOrError }\n : metadata;\n\n const context = extendedMetadata?.context;\n if (extendedMetadata) {\n delete extendedMetadata.context;\n }\n\n const record: LogRecord<NonNullable<typeof extendedMetadata>> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata: extendedMetadata as NonNullable<typeof extendedMetadata>,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.ERROR, { metadataStyles });\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(messageOrError, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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<ExtendedFunctionNameMetadata & T>,\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<ExtendedFunctionNameMetadata & T>,\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"],"names":["globalOrWindow","globalThis","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","isError","messageOrError","Error","Logger","constructor","displayName","process","env","NODE_ENV","includes","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","undefined","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","some","handle","metadata","INFO","options","isMessageError","name","extendedMetadata","hasOwn","error","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nightingale-logger",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"description": "Logger for browser and node",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nightingale"
|
|
@@ -15,18 +15,10 @@
|
|
|
15
15
|
"homepage": "https://github.com/christophehurpeau/nightingale",
|
|
16
16
|
"type": "module",
|
|
17
17
|
"engines": {
|
|
18
|
-
"node": ">=
|
|
18
|
+
"node": ">=20.9.0"
|
|
19
19
|
},
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
"defaults",
|
|
23
|
-
"> 0.2%",
|
|
24
|
-
"not ie < 12",
|
|
25
|
-
"not safari < 10",
|
|
26
|
-
"not ios_saf < 10"
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"main": "./dist/index-node18.mjs",
|
|
20
|
+
"sideEffects": false,
|
|
21
|
+
"main": "./dist/index-node20.mjs",
|
|
30
22
|
"types": "./dist/definitions/index.d.ts",
|
|
31
23
|
"module": "./dist/index-browser.es.js",
|
|
32
24
|
"browser": "./dist/index-browser.es.js",
|
|
@@ -35,14 +27,13 @@
|
|
|
35
27
|
".": {
|
|
36
28
|
"types": "./dist/definitions/index.d.ts",
|
|
37
29
|
"node": {
|
|
38
|
-
"import": "./dist/index-
|
|
30
|
+
"import": "./dist/index-node20.mjs"
|
|
39
31
|
},
|
|
40
32
|
"browser": {
|
|
41
33
|
"import": "./dist/index-browser.es.js"
|
|
42
34
|
}
|
|
43
35
|
}
|
|
44
36
|
},
|
|
45
|
-
"sideEffects": false,
|
|
46
37
|
"files": [
|
|
47
38
|
"src",
|
|
48
39
|
"dist"
|
|
@@ -53,34 +44,44 @@
|
|
|
53
44
|
"clean": "yarn clean:build",
|
|
54
45
|
"clean:build": "pob-babel-clean-out dist",
|
|
55
46
|
"lint": "yarn run lint:eslint",
|
|
56
|
-
"lint:eslint": "yarn ../.. run eslint --
|
|
47
|
+
"lint:eslint": "yarn ../.. run eslint --quiet packages/nightingale-logger",
|
|
57
48
|
"test": "yarn ../../ run test -- packages/nightingale-logger",
|
|
58
49
|
"watch": "yarn clean:build && rollup --config rollup.config.mjs --watch"
|
|
59
50
|
},
|
|
60
|
-
"
|
|
51
|
+
"browserslist": {
|
|
52
|
+
"production": [
|
|
53
|
+
"defaults",
|
|
54
|
+
"> 0.2%",
|
|
55
|
+
"not ie < 12",
|
|
56
|
+
"not safari < 10",
|
|
57
|
+
"not ios_saf < 10"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
61
60
|
"pob": {
|
|
62
|
-
"
|
|
61
|
+
"bundler": "rollup-babel",
|
|
62
|
+
"entries": [
|
|
63
|
+
"index"
|
|
64
|
+
],
|
|
65
|
+
"envs": [
|
|
63
66
|
{
|
|
64
67
|
"target": "node",
|
|
65
|
-
"version": "
|
|
68
|
+
"version": "20"
|
|
66
69
|
},
|
|
67
70
|
{
|
|
68
71
|
"target": "browser"
|
|
69
72
|
}
|
|
70
|
-
],
|
|
71
|
-
"entries": [
|
|
72
|
-
"index"
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
|
+
"prettier": "@pob/root/prettier-config",
|
|
75
76
|
"dependencies": {
|
|
76
|
-
"@types/node": ">=
|
|
77
|
-
"nightingale-levels": "
|
|
78
|
-
"nightingale-types": "
|
|
77
|
+
"@types/node": ">=20.0.0",
|
|
78
|
+
"nightingale-levels": "16.0.0",
|
|
79
|
+
"nightingale-types": "16.0.0"
|
|
79
80
|
},
|
|
80
81
|
"devDependencies": {
|
|
81
|
-
"@babel/core": "7.
|
|
82
|
-
"@babel/preset-env": "7.
|
|
83
|
-
"pob-babel": "
|
|
84
|
-
"typescript": "5.
|
|
82
|
+
"@babel/core": "7.26.10",
|
|
83
|
+
"@babel/preset-env": "7.26.9",
|
|
84
|
+
"pob-babel": "43.4.0",
|
|
85
|
+
"typescript": "5.8.2"
|
|
85
86
|
}
|
|
86
87
|
}
|
package/src/index.test.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
import { jest } from
|
|
3
|
-
import { Logger } from
|
|
2
|
+
import { jest } from "@jest/globals";
|
|
3
|
+
import { Logger } from ".";
|
|
4
4
|
|
|
5
|
-
test(
|
|
6
|
-
const key =
|
|
5
|
+
test("key argument", () => {
|
|
6
|
+
const key = "test";
|
|
7
7
|
const logger = new Logger(key);
|
|
8
8
|
expect(logger.key).toBe(key);
|
|
9
9
|
});
|
|
10
10
|
|
|
11
|
-
test(
|
|
12
|
-
const key =
|
|
11
|
+
test("extends context", () => {
|
|
12
|
+
const key = "test";
|
|
13
13
|
const logger = new Logger(key);
|
|
14
14
|
const context = { test1: true, test2: false };
|
|
15
15
|
logger.setContext(context);
|
|
@@ -23,20 +23,20 @@ test('extends context', () => {
|
|
|
23
23
|
});
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
test(
|
|
27
|
-
const key =
|
|
26
|
+
test("extends undefined context", () => {
|
|
27
|
+
const key = "test";
|
|
28
28
|
const logger = new Logger(key);
|
|
29
29
|
expect(logger.getContextObject()).toBe(undefined);
|
|
30
30
|
expect(() => {
|
|
31
31
|
logger.extendsContext({ test: true });
|
|
32
32
|
}).toThrow(
|
|
33
|
-
|
|
33
|
+
"Cannot extends context that does not exists. Use setContext(context) first.",
|
|
34
34
|
);
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
-
test(
|
|
38
|
-
const error = new Error(
|
|
39
|
-
const logger = new Logger(
|
|
37
|
+
test("passing error", () => {
|
|
38
|
+
const error = new Error("Test");
|
|
39
|
+
const logger = new Logger("test");
|
|
40
40
|
logger.addRecord = jest.fn();
|
|
41
41
|
logger.log(error);
|
|
42
42
|
expect(logger.addRecord).toHaveBeenNthCalledWith(1, {
|
|
@@ -45,9 +45,9 @@ test('passing error', () => {
|
|
|
45
45
|
datetime: expect.any(Date),
|
|
46
46
|
displayName: undefined,
|
|
47
47
|
extra: {},
|
|
48
|
-
key:
|
|
48
|
+
key: "test",
|
|
49
49
|
level: 200,
|
|
50
|
-
message:
|
|
50
|
+
message: "Error: Test",
|
|
51
51
|
metadata: { error },
|
|
52
52
|
});
|
|
53
53
|
});
|
package/src/index.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import { POB_TARGET } from 'pob-babel';
|
|
4
|
-
import { Level } from 'nightingale-levels';
|
|
1
|
+
import * as util from "node:util";
|
|
2
|
+
import { Level } from "nightingale-levels";
|
|
5
3
|
import type {
|
|
4
|
+
Handler,
|
|
5
|
+
LogRecord,
|
|
6
6
|
Metadata,
|
|
7
7
|
MetadataStyles,
|
|
8
|
-
Styles,
|
|
9
|
-
Handler,
|
|
10
8
|
Processor,
|
|
11
|
-
|
|
12
|
-
} from
|
|
9
|
+
Styles,
|
|
10
|
+
} from "nightingale-types";
|
|
11
|
+
import { POB_TARGET } from "pob-babel";
|
|
13
12
|
|
|
14
|
-
export { Level } from
|
|
13
|
+
export { Level } from "nightingale-levels";
|
|
15
14
|
|
|
16
15
|
export interface Options<T extends Metadata> {
|
|
17
16
|
symbol?: string;
|
|
@@ -40,27 +39,27 @@ export interface Config {
|
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
declare global {
|
|
43
|
-
// eslint-disable-next-line
|
|
42
|
+
// eslint-disable-next-line no-var
|
|
44
43
|
var __NIGHTINGALE_CONFIG: Config[];
|
|
45
|
-
// eslint-disable-next-line
|
|
44
|
+
// eslint-disable-next-line no-var
|
|
46
45
|
var __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;
|
|
47
|
-
// eslint-disable-next-line
|
|
46
|
+
// eslint-disable-next-line no-var
|
|
48
47
|
var __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;
|
|
49
|
-
// eslint-disable-next-line
|
|
48
|
+
// eslint-disable-next-line no-var
|
|
50
49
|
var __NIGHTINGALE_GLOBAL_HANDLERS: unknown;
|
|
51
|
-
// eslint-disable-next-line
|
|
50
|
+
// eslint-disable-next-line no-var
|
|
52
51
|
var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (
|
|
53
52
|
key: string,
|
|
54
53
|
) => ComputedConfigForKey;
|
|
55
|
-
// eslint-disable-next-line
|
|
54
|
+
// eslint-disable-next-line no-var
|
|
56
55
|
var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (
|
|
57
56
|
key: string,
|
|
58
57
|
level: number,
|
|
59
58
|
) => ComputedConfigForKey;
|
|
60
59
|
}
|
|
61
60
|
|
|
62
|
-
const globalOrWindow: typeof
|
|
63
|
-
typeof
|
|
61
|
+
const globalOrWindow: typeof globalThis =
|
|
62
|
+
typeof globalThis !== "undefined" ? globalThis : globalThis;
|
|
64
63
|
|
|
65
64
|
if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {
|
|
66
65
|
globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER =
|
|
@@ -124,7 +123,7 @@ export class Logger {
|
|
|
124
123
|
this.key = key;
|
|
125
124
|
this.displayName = displayName;
|
|
126
125
|
|
|
127
|
-
if (process.env.NODE_ENV !==
|
|
126
|
+
if (process.env.NODE_ENV !== "production" && key.includes(".")) {
|
|
128
127
|
throw new Error(
|
|
129
128
|
`nightingale: \`.\` in key is no longer supported, use \`:\` instead (key: ${key})`,
|
|
130
129
|
);
|
|
@@ -195,7 +194,7 @@ export class Logger {
|
|
|
195
194
|
extendsContext(extendedContext: Record<string, unknown>): void {
|
|
196
195
|
if (this.contextObject === undefined) {
|
|
197
196
|
throw new Error(
|
|
198
|
-
|
|
197
|
+
"Cannot extends context that does not exists. Use setContext(context) first.",
|
|
199
198
|
);
|
|
200
199
|
}
|
|
201
200
|
Object.assign(this.contextObject, extendedContext);
|
|
@@ -214,7 +213,7 @@ export class Logger {
|
|
|
214
213
|
if (handlers.length === 0) {
|
|
215
214
|
if (record.level > Level.ERROR) {
|
|
216
215
|
// eslint-disable-next-line no-console
|
|
217
|
-
console.log(
|
|
216
|
+
console.log("[nightingale] no logger for > error level.", {
|
|
218
217
|
key: record.key,
|
|
219
218
|
message: record.message,
|
|
220
219
|
});
|
|
@@ -247,8 +246,7 @@ export class Logger {
|
|
|
247
246
|
: messageOrError;
|
|
248
247
|
|
|
249
248
|
const extendedMetadata =
|
|
250
|
-
isMessageError &&
|
|
251
|
-
!(metadata && Object.prototype.hasOwnProperty.call(metadata, 'error'))
|
|
249
|
+
isMessageError && !(metadata && Object.hasOwn(metadata, "error"))
|
|
252
250
|
? { ...metadata, error: messageOrError }
|
|
253
251
|
: metadata;
|
|
254
252
|
|
|
@@ -398,15 +396,15 @@ export class Logger {
|
|
|
398
396
|
metadata?: T,
|
|
399
397
|
metadataStyles?: MetadataStyles<T>,
|
|
400
398
|
): void {
|
|
401
|
-
if (POB_TARGET ===
|
|
402
|
-
throw new Error(
|
|
399
|
+
if (POB_TARGET === "browser") {
|
|
400
|
+
throw new Error("Not supported for the browser. Prefer `debugger;`");
|
|
403
401
|
} else {
|
|
404
402
|
// Note: inspect is a special function for node:
|
|
405
403
|
// https://github.com/nodejs/node/blob/a1bda1b4deb08dfb3e06cb778f0db40023b18318/lib/util.js#L210
|
|
406
404
|
const inspectedValue = util.inspect(value, { depth: 6 });
|
|
407
405
|
this.log(inspectedValue, metadata, Level.DEBUG, {
|
|
408
406
|
metadataStyles,
|
|
409
|
-
styles: [
|
|
407
|
+
styles: ["gray"],
|
|
410
408
|
});
|
|
411
409
|
}
|
|
412
410
|
}
|
|
@@ -420,13 +418,13 @@ export class Logger {
|
|
|
420
418
|
metadata?: T,
|
|
421
419
|
metadataStyles?: MetadataStyles<T>,
|
|
422
420
|
): void {
|
|
423
|
-
if (POB_TARGET ===
|
|
424
|
-
throw new Error(
|
|
421
|
+
if (POB_TARGET === "browser") {
|
|
422
|
+
throw new Error("Not supported for the browser. Prefer `debugger;`");
|
|
425
423
|
} else {
|
|
426
424
|
const inspectedValue = util.inspect(varValue, { depth: 6 });
|
|
427
425
|
this.log(`${varName} = ${inspectedValue}`, metadata, Level.DEBUG, {
|
|
428
426
|
metadataStyles,
|
|
429
|
-
styles: [
|
|
427
|
+
styles: ["cyan"],
|
|
430
428
|
});
|
|
431
429
|
}
|
|
432
430
|
}
|
|
@@ -452,8 +450,8 @@ export class Logger {
|
|
|
452
450
|
): void {
|
|
453
451
|
this.log(message, metadata, Level.INFO, {
|
|
454
452
|
metadataStyles,
|
|
455
|
-
symbol:
|
|
456
|
-
styles: [
|
|
453
|
+
symbol: "✔",
|
|
454
|
+
styles: ["green", "bold"],
|
|
457
455
|
});
|
|
458
456
|
}
|
|
459
457
|
|
|
@@ -467,8 +465,8 @@ export class Logger {
|
|
|
467
465
|
): void {
|
|
468
466
|
this.log(message, metadata, Level.DEBUG, {
|
|
469
467
|
metadataStyles,
|
|
470
|
-
symbol:
|
|
471
|
-
styles: [
|
|
468
|
+
symbol: "✔",
|
|
469
|
+
styles: ["green"],
|
|
472
470
|
});
|
|
473
471
|
}
|
|
474
472
|
|
|
@@ -493,8 +491,8 @@ export class Logger {
|
|
|
493
491
|
): void {
|
|
494
492
|
this.log(messageOrError, metadata, Level.INFO, {
|
|
495
493
|
metadataStyles,
|
|
496
|
-
symbol:
|
|
497
|
-
styles: [
|
|
494
|
+
symbol: "✖",
|
|
495
|
+
styles: ["red", "bold"],
|
|
498
496
|
});
|
|
499
497
|
}
|
|
500
498
|
|
|
@@ -508,8 +506,8 @@ export class Logger {
|
|
|
508
506
|
): void {
|
|
509
507
|
this.log(messageOrError, metadata, Level.DEBUG, {
|
|
510
508
|
metadataStyles,
|
|
511
|
-
symbol:
|
|
512
|
-
styles: [
|
|
509
|
+
symbol: "✖",
|
|
510
|
+
styles: ["red"],
|
|
513
511
|
});
|
|
514
512
|
}
|
|
515
513
|
|
|
@@ -561,7 +559,7 @@ export class Logger {
|
|
|
561
559
|
} else {
|
|
562
560
|
const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;
|
|
563
561
|
const ms = diffTime - seconds * 1000;
|
|
564
|
-
readableTime = `${seconds ? `${seconds}s and ` :
|
|
562
|
+
readableTime = `${seconds ? `${seconds}s and ` : ""}${ms}ms`;
|
|
565
563
|
}
|
|
566
564
|
|
|
567
565
|
const extendedMetadata = {
|
|
@@ -595,8 +593,8 @@ export class Logger {
|
|
|
595
593
|
metadataStyles?: MetadataStyles<T>,
|
|
596
594
|
): void {
|
|
597
595
|
this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {
|
|
598
|
-
symbol:
|
|
599
|
-
styles: [
|
|
596
|
+
symbol: "✔",
|
|
597
|
+
styles: ["green", "bold"],
|
|
600
598
|
});
|
|
601
599
|
}
|
|
602
600
|
|
|
@@ -623,7 +621,7 @@ export class Logger {
|
|
|
623
621
|
...metadata,
|
|
624
622
|
functionName: fn.name,
|
|
625
623
|
};
|
|
626
|
-
this.log(
|
|
624
|
+
this.log("enter", extendedMetadata, Level.TRACE, { metadataStyles });
|
|
627
625
|
}
|
|
628
626
|
|
|
629
627
|
/**
|
|
@@ -649,7 +647,7 @@ export class Logger {
|
|
|
649
647
|
...metadata,
|
|
650
648
|
functionName: fn.name,
|
|
651
649
|
};
|
|
652
|
-
this.log(
|
|
650
|
+
this.log("exit", extendedMetadata, Level.TRACE, { metadataStyles });
|
|
653
651
|
}
|
|
654
652
|
|
|
655
653
|
/**
|
|
@@ -694,12 +692,12 @@ export class Logger {
|
|
|
694
692
|
let metadata: T | undefined;
|
|
695
693
|
let metadataStyles: MetadataStyles<T> | undefined;
|
|
696
694
|
|
|
697
|
-
if (typeof option1 ===
|
|
695
|
+
if (typeof option1 === "function") {
|
|
698
696
|
callback = option1;
|
|
699
697
|
} else {
|
|
700
698
|
metadata = option1;
|
|
701
699
|
|
|
702
|
-
if (typeof option2 ===
|
|
700
|
+
if (typeof option2 === "function") {
|
|
703
701
|
callback = option2;
|
|
704
702
|
} else {
|
|
705
703
|
metadataStyles = option2;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node18.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport * as util from 'node:util';\nimport { POB_TARGET } from 'pob-babel';\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 } from 'nightingale-levels';\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\nexport interface 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 vars-on-top, no-var\n var __NIGHTINGALE_CONFIG: Config[];\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_LOGGER_MAP_CACHE: Map<string, ComputedConfigForKey>;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_CONFIG_DEFAULT: ComputedConfigForKey;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_GLOBAL_HANDLERS: unknown;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER: (\n key: string,\n ) => ComputedConfigForKey;\n // eslint-disable-next-line vars-on-top, no-var\n var __NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD: (\n key: string,\n level: number,\n ) => ComputedConfigForKey;\n}\n\nconst globalOrWindow: typeof global =\n typeof global !== 'undefined' ? global : (window as typeof global);\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER =\n (): ComputedConfigForKey => ({\n handlers: [],\n processors: [],\n });\n}\n\nif (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: Level,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n globalOrWindow.__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\nfunction getConfigForLoggerRecord(\n key: string,\n recordLevel: Level,\n): ComputedConfigForKey {\n return globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD(\n key,\n recordLevel,\n );\n}\n\nfunction isError(messageOrError: Error | string): messageOrError is Error {\n return messageOrError instanceof Error;\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 (process.env.NODE_ENV !== '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 globalOrWindow.__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 if (this.contextObject === undefined) {\n throw new Error(\n 'Cannot extends context that does not exists. Use setContext(context) first.',\n );\n }\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 messageOrError: Error | string,\n metadata?: T,\n level: Level = Level.INFO,\n options?: Options<T>,\n ): void {\n const isMessageError = isError(messageOrError);\n\n const message = isMessageError\n ? `${messageOrError.name}: ${messageOrError.message}`\n : messageOrError;\n\n const extendedMetadata =\n isMessageError &&\n !(metadata && Object.prototype.hasOwnProperty.call(metadata, 'error'))\n ? { ...metadata, error: messageOrError }\n : metadata;\n\n const context = extendedMetadata?.context;\n if (extendedMetadata) {\n delete extendedMetadata.context;\n }\n\n const record: LogRecord<NonNullable<typeof extendedMetadata>> = {\n level,\n key: this.key,\n displayName: this.displayName,\n datetime: new Date(),\n message,\n context: context || this.contextObject,\n metadata: extendedMetadata as NonNullable<typeof extendedMetadata>,\n extra: {},\n ...options,\n };\n this.addRecord(record);\n }\n\n /**\n * Log a trace message\n */\n trace<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log a debug message\n */\n debug<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.DEBUG, { metadataStyles });\n }\n\n /**\n * Notice an info message\n */\n notice<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.NOTICE, { metadataStyles });\n }\n\n /**\n * Log an info message\n */\n info<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.INFO, { metadataStyles });\n }\n\n /**\n * Log a warn message\n */\n warn<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.ERROR, { metadataStyles });\n }\n\n /**\n * Log an critical message\n */\n critical<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, metadata, Level.FATAL, { metadataStyles });\n }\n\n /**\n * Log an alert message\n */\n alert<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.infoFail(messageOrError, metadata, metadataStyles);\n }\n\n /**\n * Log an info fail message\n */\n infoFail<T extends Metadata>(\n messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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 messageOrError: Error | string,\n metadata?: T,\n metadataStyles?: MetadataStyles<T>,\n ): void {\n this.log(messageOrError, 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<ExtendedFunctionNameMetadata & T>,\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<ExtendedFunctionNameMetadata & T>,\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"],"names":["globalOrWindow","global","window","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","handlers","processors","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","key","level","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","isError","messageOrError","Error","Logger","constructor","displayName","process","env","NODE_ENV","includes","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","undefined","Object","assign","addRecord","record","length","Level","ERROR","console","log","message","forEach","some","handle","metadata","INFO","options","isMessageError","name","extendedMetadata","prototype","hasOwnProperty","call","error","datetime","Date","extra","trace","metadataStyles","TRACE","debug","DEBUG","notice","NOTICE","info","warn","WARN","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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"}
|
package/src/.eslintrc.json
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"root": true,
|
|
3
|
-
"parser": "@typescript-eslint/parser",
|
|
4
|
-
"parserOptions": {
|
|
5
|
-
"project": "packages/nightingale-logger/tsconfig.json"
|
|
6
|
-
},
|
|
7
|
-
"plugins": ["@typescript-eslint"],
|
|
8
|
-
"extends": ["@pob/eslint-config-typescript"],
|
|
9
|
-
"ignorePatterns": ["*.d.ts"],
|
|
10
|
-
"rules": {
|
|
11
|
-
"@typescript-eslint/max-params": "warn"
|
|
12
|
-
},
|
|
13
|
-
"overrides": [
|
|
14
|
-
{
|
|
15
|
-
"files": ["**/*.test.ts", "__tests__/**/*.ts"],
|
|
16
|
-
"extends": ["@pob/eslint-config-typescript/test"],
|
|
17
|
-
"env": {
|
|
18
|
-
"jest": true
|
|
19
|
-
},
|
|
20
|
-
"rules": {
|
|
21
|
-
"import/no-extraneous-dependencies": [
|
|
22
|
-
"error",
|
|
23
|
-
{
|
|
24
|
-
"devDependencies": true
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}
|