nightingale-logger 13.0.0 → 14.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 CHANGED
@@ -3,6 +3,25 @@
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
+ ## [14.0.0](https://github.com/christophehurpeau/nightingale/compare/v13.0.0...v14.0.0) (2023-06-30)
7
+
8
+
9
+ ### ⚠ BREAKING CHANGES
10
+
11
+ * **deps:** require node 18
12
+ * requires node 18
13
+
14
+ ### Features
15
+
16
+ * requires node 18 ([4452b11](https://github.com/christophehurpeau/nightingale/commit/4452b116188e58c293be85e462e04922f7ad51f0))
17
+
18
+
19
+ ### Miscellaneous Chores
20
+
21
+ * **deps:** update dependency @pob/root to v8 ([#760](https://github.com/christophehurpeau/nightingale/issues/760)) ([22dc3cc](https://github.com/christophehurpeau/nightingale/commit/22dc3cceabdfd465d04ee36fec8fdac31febab69))
22
+
23
+
24
+
6
25
  # [13.0.0](https://github.com/christophehurpeau/nightingale/compare/v12.1.4...v13.0.0) (2022-11-19)
7
26
 
8
27
 
@@ -95,27 +95,27 @@ export declare class Logger {
95
95
  /**
96
96
  * Log a message
97
97
  */
98
- log<T extends Metadata>(messageOrError: string | Error, metadata?: T, level?: Level, options?: Options<T>): void;
98
+ log<T extends Metadata>(messageOrError: Error | string, metadata?: T, level?: Level, options?: Options<T>): void;
99
99
  /**
100
100
  * Log a trace message
101
101
  */
102
- trace<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
102
+ trace<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
103
103
  /**
104
104
  * Log a debug message
105
105
  */
106
- debug<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
106
+ debug<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
107
107
  /**
108
108
  * Notice an info message
109
109
  */
110
- notice<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
110
+ notice<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
111
111
  /**
112
112
  * Log an info message
113
113
  */
114
- info<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
114
+ info<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
115
115
  /**
116
116
  * Log a warn message
117
117
  */
118
- warn<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
118
+ warn<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
119
119
  /**
120
120
  * Log an error message
121
121
  *
@@ -129,11 +129,11 @@ export declare class Logger {
129
129
  * }
130
130
  * ```
131
131
  */
132
- error<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
132
+ error<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
133
133
  /**
134
134
  * Log an critical message
135
135
  */
136
- critical<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
136
+ critical<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
137
137
  /**
138
138
  * Log a fatal message
139
139
  *
@@ -147,11 +147,11 @@ export declare class Logger {
147
147
  * process.exit(1);
148
148
  * }
149
149
  */
150
- fatal<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
150
+ fatal<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
151
151
  /**
152
152
  * Log an alert message
153
153
  */
154
- alert<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
154
+ alert<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
155
155
  /**
156
156
  * Log an inspected value
157
157
  */
@@ -175,15 +175,15 @@ export declare class Logger {
175
175
  /**
176
176
  * Alias for infoFail
177
177
  */
178
- fail<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
178
+ fail<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
179
179
  /**
180
180
  * Log an info fail message
181
181
  */
182
- infoFail<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
182
+ infoFail<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
183
183
  /**
184
184
  * Log an debug fail message
185
185
  */
186
- debugFail<T extends Metadata>(messageOrError: string | Error, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
186
+ debugFail<T extends Metadata>(messageOrError: Error | string, metadata?: T, metadataStyles?: MetadataStyles<T>): void;
187
187
  /**
188
188
  * @returns {number} time to pass to timeEnd
189
189
  */
@@ -218,7 +218,7 @@ export declare class Logger {
218
218
  * ```
219
219
  *
220
220
  */
221
- enter<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(fn: Fn, metadata?: T, metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>): void;
221
+ enter<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(fn: Fn, metadata?: T, metadataStyles?: MetadataStyles<ExtendedFunctionNameMetadata & T>): void;
222
222
  /**
223
223
  * Log an exit in a function
224
224
  *
@@ -233,7 +233,7 @@ export declare class Logger {
233
233
  * }
234
234
  * ```
235
235
  */
236
- exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(fn: Fn, metadata?: T, metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>): void;
236
+ exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(fn: Fn, metadata?: T, metadataStyles?: MetadataStyles<ExtendedFunctionNameMetadata & T>): void;
237
237
  /**
238
238
  * Wrap around a function to log enter and exit of a function
239
239
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,QAAQ;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAEnC,IAAI,8BAA8B,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAEtE,IAAI,4BAA4B,EAAE,oBAAoB,CAAC;IAEvD,IAAI,6BAA6B,EAAE,OAAO,CAAC;IAE3C,IAAI,mCAAmC,EAAE,CACvC,GAAG,EAAE,MAAM,KACR,oBAAoB,CAAC;IAE1B,IAAI,0CAA0C,EAAE,CAC9C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,KACV,oBAAoB,CAAC;CAC3B;AA8CD;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,aAAa,CAAC,CAA0B;IAEhD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAW7C,eAAe;IACf,SAAS,CAAC,wBAAwB,CAChC,WAAW,EAAE,MAAM,GAClB,oBAAoB;IAIvB,eAAe;IACf,SAAS,IAAI,QAAQ,CAAC,oBAAoB,CAAC;IAI3C;;OAEG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhE;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAMjD;;OAEG;IACH,gBAAgB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS;IAIjE;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIlD;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9D;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAyBnE;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,QAAQ,EACpB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,KAAK,GAAE,KAAkB,EACzB,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACnB,IAAI;IAgCP;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,MAAM,CAAC,CAAC,SAAS,QAAQ,EACvB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,QAAQ,EACzB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EACtB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAcP;;OAEG;IACH,UAAU,CAAC,CAAC,SAAS,QAAQ,EAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAYP;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,QAAQ,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,QAAQ,EACzB,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1B,cAAc,EAAE,MAAM,GAAG,KAAK,EAC9B,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAQP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAClC,KAAK,GAAE,MAAoB,GAC1B,MAAM;IAQT,QAAQ,CAAC,CAAC,SAAS,QAAQ,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,MAAM;IAIT;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,QAAQ,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAClC,KAAK,GAAE,MAAoB,EAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACnB,IAAI;IAuBP;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAIP;;OAEG;IACH,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,IAAI;IAOP;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAClE,EAAE,EAAE,EAAE,EACN,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,4BAA4B,CAAC,GAChE,IAAI;IAQP;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACjE,EAAE,EAAE,EAAE,EACN,QAAQ,CAAC,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,4BAA4B,CAAC,GAChE,IAAI;IAQP;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAC7C,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,IAAI,GACnB,IAAI;IAEP,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACjE,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,MAAM,IAAI,GACnB,IAAI;IAEP,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACjE,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,CAAC,EACX,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,QAAQ,EAAE,MAAM,IAAI,GACnB,IAAI;CA2BR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ var Logger = /*#__PURE__*/function () {
45
45
  function Logger(key, displayName) {
46
46
  this.key = key;
47
47
  this.displayName = displayName;
48
- if (process.env.NODE_ENV !== "production" && key.includes('.')) {
48
+ if (process.env.NODE_ENV !== 'production' && key.includes('.')) {
49
49
  throw new Error("nightingale: `.` in key is no longer supported, use `:` instead (key: " + key + ")");
50
50
  }
51
51
  }
@@ -376,13 +376,14 @@ var Logger = /*#__PURE__*/function () {
376
376
  if (level === void 0) {
377
377
  level = Level.DEBUG;
378
378
  }
379
- var now = Date.now();
379
+ var now = Date.now(),
380
+ seconds;
380
381
  var diffTime = now - startTime;
381
382
  var readableTime;
382
383
  if (diffTime < 1000) {
383
384
  readableTime = diffTime + "ms";
384
385
  } else {
385
- var seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;
386
+ seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;
386
387
  readableTime = "" + (seconds ? seconds + "s and " : '') + (diffTime - seconds * 1000) + "ms";
387
388
  }
388
389
  var extendedMetadata = _extends({}, metadata, {
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } 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: number,\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 (__DEV__ && 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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap<Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles<T>,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles<T> | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles<T> | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n"],"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","displayName","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","process","some","handle","metadata","options","INFO","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":["/* 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","_globalOrWindow$__NIG","filter","handler","minLevel","isHandling","getConfigForLoggerRecord","recordLevel","isError","messageOrError","Error","Logger","displayName","process","env","NODE_ENV","includes","_proto","prototype","getHandlersAndProcessors","getConfig","child","childSuffixKey","childDisplayName","context","logger","setContext","getContextObject","contextObject","extendsContext","extendedContext","undefined","Object","assign","addRecord","record","_this$getHandlersAndP","length","Level","ERROR","console","log","message","forEach","some","handle","metadata","options","INFO","isMessageError","name","extendedMetadata","hasOwnProperty","call","_extends","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","seconds","diffTime","readableTime","Math","floor","timeMs","infoTimeEnd","infoSuccessTimeEnd","enter","fn","functionName","exit","wrap","option1","option2","callback"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Level } from 'nightingale-levels';
2
2
  export { Level } from 'nightingale-levels';
3
3
 
4
4
  /* eslint-disable max-lines */
5
+
5
6
  const globalOrWindow = typeof global !== 'undefined' ? global : window;
6
7
  if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {
7
8
  globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = () => ({
@@ -42,7 +43,7 @@ class Logger {
42
43
  constructor(key, displayName) {
43
44
  this.key = key;
44
45
  this.displayName = displayName;
45
- if (process.env.NODE_ENV !== "production" && key.includes('.')) {
46
+ if (process.env.NODE_ENV !== 'production' && key.includes('.')) {
46
47
  throw new Error(`nightingale: \`.\` in key is no longer supported, use \`:\` instead (key: ${key})`);
47
48
  }
48
49
  }
@@ -151,7 +152,7 @@ class Logger {
151
152
  ...metadata,
152
153
  error: messageOrError
153
154
  } : metadata;
154
- const context = extendedMetadata === null || extendedMetadata === void 0 ? void 0 : extendedMetadata.context;
155
+ const context = extendedMetadata?.context;
155
156
  if (extendedMetadata) {
156
157
  delete extendedMetadata.context;
157
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } 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: number,\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 (__DEV__ && 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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap<Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles<T>,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles<T> | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles<T> | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n"],"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","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","process","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-browsermodern.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,4 +1,4 @@
1
- import * as util from 'util';
1
+ import * as util from 'node:util';
2
2
  import { Level } from 'nightingale-levels';
3
3
  export { Level } from 'nightingale-levels';
4
4
 
@@ -43,7 +43,7 @@ class Logger {
43
43
  constructor(key, displayName) {
44
44
  this.key = key;
45
45
  this.displayName = displayName;
46
- if (process.env.NODE_ENV !== "production" && key.includes('.')) {
46
+ if (process.env.NODE_ENV !== 'production' && key.includes('.')) {
47
47
  throw new Error(`nightingale: \`.\` in key is no longer supported, use \`:\` instead (key: ${key})`);
48
48
  }
49
49
  }
@@ -504,4 +504,4 @@ class Logger {
504
504
  }
505
505
 
506
506
  export { Logger };
507
- //# sourceMappingURL=index-node16.mjs.map
507
+ //# sourceMappingURL=index-node18.mjs.map
@@ -0,0 +1 @@
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nightingale-logger",
3
- "version": "13.0.0",
3
+ "version": "14.0.0",
4
4
  "description": "Logger for browser and node",
5
5
  "keywords": [
6
6
  "nightingale"
@@ -15,16 +15,18 @@
15
15
  "homepage": "https://github.com/christophehurpeau/nightingale",
16
16
  "type": "module",
17
17
  "engines": {
18
- "node": ">=16.0.0"
18
+ "node": ">=18.12.0"
19
19
  },
20
- "browserslist": [
21
- "defaults",
22
- "> 0.2%",
23
- "not ie < 12",
24
- "not safari < 10",
25
- "not ios_saf < 10"
26
- ],
27
- "main": "./dist/index-node16.mjs",
20
+ "browserslist": {
21
+ "production": [
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",
28
30
  "types": "./dist/definitions/index.d.ts",
29
31
  "module": "./dist/index-browser.es.js",
30
32
  "browser": "./dist/index-browser.es.js",
@@ -32,7 +34,7 @@
32
34
  "./package.json": "./package.json",
33
35
  ".": {
34
36
  "node": {
35
- "import": "./dist/index-node16.mjs"
37
+ "import": "./dist/index-node18.mjs"
36
38
  },
37
39
  "browser": {
38
40
  "browser:modern": {
@@ -45,7 +47,7 @@
45
47
  "sideEffects": false,
46
48
  "scripts": {
47
49
  "build": "yarn clean:build && rollup --config rollup.config.mjs && yarn run build:definitions",
48
- "build:definitions": "tsc -p",
50
+ "build:definitions": "tsc -p tsconfig.json",
49
51
  "clean": "yarn clean:build",
50
52
  "clean:build": "pob-babel-clean-out dist",
51
53
  "lint": "yarn run lint:eslint",
@@ -58,7 +60,7 @@
58
60
  "babelEnvs": [
59
61
  {
60
62
  "target": "node",
61
- "version": "16"
63
+ "version": "18"
62
64
  },
63
65
  {
64
66
  "target": "browser",
@@ -73,16 +75,15 @@
73
75
  ]
74
76
  },
75
77
  "dependencies": {
76
- "@types/node": ">=16.0.0",
77
- "nightingale-levels": "13.0.0",
78
- "nightingale-types": "13.0.0"
78
+ "@types/node": ">=18.0.0",
79
+ "nightingale-levels": "14.0.0",
80
+ "nightingale-types": "14.0.0"
79
81
  },
80
82
  "devDependencies": {
81
- "@babel/core": "7.20.2",
82
- "@babel/preset-env": "7.20.2",
83
- "babel-preset-modern-browsers": "15.0.2",
84
- "pob-babel": "35.3.0",
85
- "typescript": "4.9.3"
83
+ "@babel/core": "7.22.5",
84
+ "@babel/preset-env": "7.22.5",
85
+ "pob-babel": "36.1.0",
86
+ "typescript": "5.1.6"
86
87
  },
87
- "gitHead": "52cf7e3c8762a07891da9dde497ec03298c15654"
88
+ "gitHead": "bc20e0f093a4fecd4d87f9374f6dbc375c09c25e"
88
89
  }
package/src/index.test.ts CHANGED
@@ -41,6 +41,7 @@ test('passing error', () => {
41
41
  logger.log(error);
42
42
  expect(logger.addRecord).toHaveBeenNthCalledWith(1, {
43
43
  context: undefined,
44
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
44
45
  datetime: expect.any(Date),
45
46
  displayName: undefined,
46
47
  extra: {},
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable max-lines */
2
+ import * as util from 'node:util';
2
3
  import { POB_TARGET } from 'pob-babel';
3
- import * as util from 'util';
4
4
  import { Level } from 'nightingale-levels';
5
5
  import type {
6
6
  Metadata,
@@ -73,7 +73,7 @@ if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {
73
73
  if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
74
74
  globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (
75
75
  key: string,
76
- level: number,
76
+ level: Level,
77
77
  ): ComputedConfigForKey => {
78
78
  const { handlers, processors }: ComputedConfigForKey =
79
79
  globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);
@@ -124,7 +124,7 @@ export class Logger {
124
124
  this.key = key;
125
125
  this.displayName = displayName;
126
126
 
127
- if (__DEV__ && key.includes('.')) {
127
+ if (process.env.NODE_ENV !== 'production' && key.includes('.')) {
128
128
  throw new Error(
129
129
  `nightingale: \`.\` in key is no longer supported, use \`:\` instead (key: ${key})`,
130
130
  );
@@ -235,7 +235,7 @@ export class Logger {
235
235
  * Log a message
236
236
  */
237
237
  log<T extends Metadata>(
238
- messageOrError: string | Error,
238
+ messageOrError: Error | string,
239
239
  metadata?: T,
240
240
  level: Level = Level.INFO,
241
241
  options?: Options<T>,
@@ -275,7 +275,7 @@ export class Logger {
275
275
  * Log a trace message
276
276
  */
277
277
  trace<T extends Metadata>(
278
- messageOrError: string | Error,
278
+ messageOrError: Error | string,
279
279
  metadata?: T,
280
280
  metadataStyles?: MetadataStyles<T>,
281
281
  ): void {
@@ -286,7 +286,7 @@ export class Logger {
286
286
  * Log a debug message
287
287
  */
288
288
  debug<T extends Metadata>(
289
- messageOrError: string | Error,
289
+ messageOrError: Error | string,
290
290
  metadata?: T,
291
291
  metadataStyles?: MetadataStyles<T>,
292
292
  ): void {
@@ -297,7 +297,7 @@ export class Logger {
297
297
  * Notice an info message
298
298
  */
299
299
  notice<T extends Metadata>(
300
- messageOrError: string | Error,
300
+ messageOrError: Error | string,
301
301
  metadata?: T,
302
302
  metadataStyles?: MetadataStyles<T>,
303
303
  ): void {
@@ -308,7 +308,7 @@ export class Logger {
308
308
  * Log an info message
309
309
  */
310
310
  info<T extends Metadata>(
311
- messageOrError: string | Error,
311
+ messageOrError: Error | string,
312
312
  metadata?: T,
313
313
  metadataStyles?: MetadataStyles<T>,
314
314
  ): void {
@@ -319,7 +319,7 @@ export class Logger {
319
319
  * Log a warn message
320
320
  */
321
321
  warn<T extends Metadata>(
322
- messageOrError: string | Error,
322
+ messageOrError: Error | string,
323
323
  metadata?: T,
324
324
  metadataStyles?: MetadataStyles<T>,
325
325
  ): void {
@@ -340,7 +340,7 @@ export class Logger {
340
340
  * ```
341
341
  */
342
342
  error<T extends Metadata>(
343
- messageOrError: string | Error,
343
+ messageOrError: Error | string,
344
344
  metadata?: T,
345
345
  metadataStyles?: MetadataStyles<T>,
346
346
  ): void {
@@ -351,7 +351,7 @@ export class Logger {
351
351
  * Log an critical message
352
352
  */
353
353
  critical<T extends Metadata>(
354
- messageOrError: string | Error,
354
+ messageOrError: Error | string,
355
355
  metadata?: T,
356
356
  metadataStyles?: MetadataStyles<T>,
357
357
  ): void {
@@ -372,7 +372,7 @@ export class Logger {
372
372
  * }
373
373
  */
374
374
  fatal<T extends Metadata>(
375
- messageOrError: string | Error,
375
+ messageOrError: Error | string,
376
376
  metadata?: T,
377
377
  metadataStyles?: MetadataStyles<T>,
378
378
  ): void {
@@ -383,7 +383,7 @@ export class Logger {
383
383
  * Log an alert message
384
384
  */
385
385
  alert<T extends Metadata>(
386
- messageOrError: string | Error,
386
+ messageOrError: Error | string,
387
387
  metadata?: T,
388
388
  metadataStyles?: MetadataStyles<T>,
389
389
  ): void {
@@ -476,7 +476,7 @@ export class Logger {
476
476
  * Alias for infoFail
477
477
  */
478
478
  fail<T extends Metadata>(
479
- messageOrError: string | Error,
479
+ messageOrError: Error | string,
480
480
  metadata?: T,
481
481
  metadataStyles?: MetadataStyles<T>,
482
482
  ): void {
@@ -487,7 +487,7 @@ export class Logger {
487
487
  * Log an info fail message
488
488
  */
489
489
  infoFail<T extends Metadata>(
490
- messageOrError: string | Error,
490
+ messageOrError: Error | string,
491
491
  metadata?: T,
492
492
  metadataStyles?: MetadataStyles<T>,
493
493
  ): void {
@@ -502,7 +502,7 @@ export class Logger {
502
502
  * Log an debug fail message
503
503
  */
504
504
  debugFail<T extends Metadata>(
505
- messageOrError: string | Error,
505
+ messageOrError: Error | string,
506
506
  metadata?: T,
507
507
  metadataStyles?: MetadataStyles<T>,
508
508
  ): void {
@@ -617,7 +617,7 @@ export class Logger {
617
617
  enter<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(
618
618
  fn: Fn,
619
619
  metadata?: T,
620
- metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,
620
+ metadataStyles?: MetadataStyles<ExtendedFunctionNameMetadata & T>,
621
621
  ): void {
622
622
  const extendedMetadata = {
623
623
  ...metadata,
@@ -643,7 +643,7 @@ export class Logger {
643
643
  exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(
644
644
  fn: Fn,
645
645
  metadata?: T,
646
- metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,
646
+ metadataStyles?: MetadataStyles<ExtendedFunctionNameMetadata & T>,
647
647
  ): void {
648
648
  const extendedMetadata = {
649
649
  ...metadata,
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-node16.mjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport { POB_TARGET } from 'pob-babel';\nimport * as util from 'util';\nimport { Level } from 'nightingale-levels';\nimport type {\n Metadata,\n MetadataStyles,\n Styles,\n Handler,\n Processor,\n LogRecord,\n} from 'nightingale-types';\n\nexport { Level } 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: number,\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 (__DEV__ && 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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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: string | Error,\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<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('enter', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Log an exit in a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method(arg1) {\n * // Do your stuff\n * logger.exit(method, { arg1 });\n * }\n * }\n * ```\n */\n exit<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata?: T,\n metadataStyles?: MetadataStyles<T & ExtendedFunctionNameMetadata>,\n ): void {\n const extendedMetadata = {\n ...metadata,\n functionName: fn.name,\n };\n this.log('exit', extendedMetadata, Level.TRACE, { metadataStyles });\n }\n\n /**\n * Wrap around a function to log enter and exit of a function\n *\n * @example\n * ```typescript\n * const logger = new Logger('myNamespace:A');\n * class A {\n * method() {\n * logger.wrap(method, () => {\n * // Do your stuff\n * });\n * }\n * }\n * ```\n */\n wrap<Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n metadata: T,\n metadataStyles: MetadataStyles<T>,\n callback: () => void,\n ): void;\n\n wrap<T extends Metadata, Fn extends (...args: unknown[]) => unknown>(\n fn: Fn,\n option1: T | (() => void),\n option2?: MetadataStyles<T> | (() => void),\n callback?: () => void,\n ): void {\n let metadata: T | undefined;\n let metadataStyles: MetadataStyles<T> | undefined;\n\n if (typeof option1 === 'function') {\n callback = option1;\n } else {\n metadata = option1;\n\n if (typeof option2 === 'function') {\n callback = option2;\n } else {\n metadataStyles = option2;\n }\n }\n\n this.enter(fn, metadata, metadataStyles);\n (callback as () => void)();\n this.exit(fn);\n }\n}\n"],"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","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","process","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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"}