nightingale-logger 14.2.1 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,26 +1,22 @@
1
- import _extends from '@babel/runtime/helpers/esm/extends';
2
1
  import { Level } from 'nightingale-levels';
3
2
  export { Level } from 'nightingale-levels';
4
3
 
5
- var globalOrWindow = typeof global !== 'undefined' ? global : window;
4
+ const globalOrWindow = typeof globalThis !== "undefined" ? globalThis : globalThis;
6
5
  if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER) {
7
- globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = function () {
8
- return {
9
- handlers: [],
10
- processors: []
11
- };
12
- };
6
+ globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = () => ({
7
+ handlers: [],
8
+ processors: []
9
+ });
13
10
  }
14
11
  if (!globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
15
- globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = function (key, level) {
16
- var _globalOrWindow$__NIG = globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key),
17
- handlers = _globalOrWindow$__NIG.handlers,
18
- processors = _globalOrWindow$__NIG.processors;
12
+ globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (key, level) => {
13
+ const {
14
+ handlers,
15
+ processors
16
+ } = globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);
19
17
  return {
20
- handlers: handlers.filter(function (handler) {
21
- return level >= handler.minLevel && (!handler.isHandling || handler.isHandling(level, key));
22
- }),
23
- processors: processors
18
+ handlers: handlers.filter(handler => level >= handler.minLevel && (!handler.isHandling || handler.isHandling(level, key))),
19
+ processors
24
20
  };
25
21
  };
26
22
  }
@@ -35,37 +31,36 @@ function isError(messageOrError) {
35
31
  * Interface that allows you to log records.
36
32
  * This records are treated by handlers
37
33
  */
38
- var Logger = /*#__PURE__*/function () {
34
+ class Logger {
39
35
  /**
40
36
  * Create a new Logger
41
37
  *
42
38
  * @param {string} key
43
39
  * @param {string} [displayName]
44
40
  */
45
- function Logger(key, displayName) {
41
+ constructor(key, displayName) {
46
42
  this.key = key;
47
43
  this.displayName = displayName;
48
- if (process.env.NODE_ENV !== 'production' && key.includes('.')) {
49
- throw new Error("nightingale: `.` in key is no longer supported, use `:` instead (key: " + key + ")");
44
+ if (process.env.NODE_ENV !== "production" && key.includes(".")) {
45
+ throw new Error(`nightingale: \`.\` in key is no longer supported, use \`:\` instead (key: ${key})`);
50
46
  }
51
47
  }
52
48
 
53
49
  /** @private */
54
- var _proto = Logger.prototype;
55
- _proto.getHandlersAndProcessors = function getHandlersAndProcessors(recordLevel) {
50
+ getHandlersAndProcessors(recordLevel) {
56
51
  return getConfigForLoggerRecord(this.key, recordLevel);
57
52
  }
58
53
 
59
- /** @private */;
60
- _proto.getConfig = function getConfig() {
54
+ /** @private */
55
+ getConfig() {
61
56
  return globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(this.key);
62
57
  }
63
58
 
64
59
  /**
65
60
  * Create a child logger
66
- */;
67
- _proto.child = function child(childSuffixKey, childDisplayName) {
68
- return new Logger(this.key + ":" + childSuffixKey, childDisplayName);
61
+ */
62
+ child(childSuffixKey, childDisplayName) {
63
+ return new Logger(`${this.key}:${childSuffixKey}`, childDisplayName);
69
64
  }
70
65
 
71
66
  /**
@@ -84,17 +79,17 @@ var Logger = /*#__PURE__*/function () {
84
79
  * }
85
80
  * ```
86
81
  *
87
- */;
88
- _proto.context = function context(_context) {
89
- var logger = new Logger(this.key);
90
- logger.setContext(_context);
82
+ */
83
+ context(context) {
84
+ const logger = new Logger(this.key);
85
+ logger.setContext(context);
91
86
  return logger;
92
87
  }
93
88
 
94
89
  /**
95
90
  * Get the context of this logger
96
- */;
97
- _proto.getContextObject = function getContextObject() {
91
+ */
92
+ getContextObject() {
98
93
  return this.contextObject;
99
94
  }
100
95
 
@@ -102,17 +97,17 @@ var Logger = /*#__PURE__*/function () {
102
97
  * Set the context of this logger
103
98
  *
104
99
  * @param {Object} context
105
- */;
106
- _proto.setContext = function setContext(context) {
100
+ */
101
+ setContext(context) {
107
102
  this.contextObject = context;
108
103
  }
109
104
 
110
105
  /**
111
106
  * Extends existing context of this logger
112
- */;
113
- _proto.extendsContext = function extendsContext(extendedContext) {
107
+ */
108
+ extendsContext(extendedContext) {
114
109
  if (this.contextObject === undefined) {
115
- throw new Error('Cannot extends context that does not exists. Use setContext(context) first.');
110
+ throw new Error("Cannot extends context that does not exists. Use setContext(context) first.");
116
111
  }
117
112
  Object.assign(this.contextObject, extendedContext);
118
113
  }
@@ -121,15 +116,16 @@ var Logger = /*#__PURE__*/function () {
121
116
  * Handle a record
122
117
  *
123
118
  * Use this only if you know what you are doing.
124
- */;
125
- _proto.addRecord = function addRecord(record) {
126
- var _this$getHandlersAndP = this.getHandlersAndProcessors(record.level),
127
- handlers = _this$getHandlersAndP.handlers,
128
- processors = _this$getHandlersAndP.processors;
119
+ */
120
+ addRecord(record) {
121
+ const {
122
+ handlers,
123
+ processors
124
+ } = this.getHandlersAndProcessors(record.level);
129
125
  if (handlers.length === 0) {
130
126
  if (record.level > Level.ERROR) {
131
127
  // eslint-disable-next-line no-console
132
- console.log('[nightingale] no logger for > error level.', {
128
+ console.log("[nightingale] no logger for > error level.", {
133
129
  key: record.key,
134
130
  message: record.message
135
131
  });
@@ -137,86 +133,83 @@ var Logger = /*#__PURE__*/function () {
137
133
  return;
138
134
  }
139
135
  if (processors) {
140
- processors.forEach(function (process) {
136
+ processors.forEach(process => {
141
137
  process(record, record.context);
142
138
  });
143
139
  }
144
- handlers.some(function (handler) {
145
- return handler.handle(record) === false;
146
- });
140
+ handlers.some(handler => handler.handle(record) === false);
147
141
  }
148
142
 
149
143
  /**
150
144
  * Log a message
151
- */;
152
- _proto.log = function log(messageOrError, metadata, level, options) {
153
- if (level === void 0) {
154
- level = Level.INFO;
155
- }
156
- var isMessageError = isError(messageOrError);
157
- var message = isMessageError ? messageOrError.name + ": " + messageOrError.message : messageOrError;
158
- var extendedMetadata = isMessageError && !(metadata && Object.prototype.hasOwnProperty.call(metadata, 'error')) ? _extends({}, metadata, {
145
+ */
146
+ log(messageOrError, metadata, level = Level.INFO, options) {
147
+ const isMessageError = isError(messageOrError);
148
+ const message = isMessageError ? `${messageOrError.name}: ${messageOrError.message}` : messageOrError;
149
+ const extendedMetadata = isMessageError && !(metadata && Object.hasOwn(metadata, "error")) ? {
150
+ ...metadata,
159
151
  error: messageOrError
160
- }) : metadata;
161
- var context = extendedMetadata == null ? void 0 : extendedMetadata.context;
152
+ } : metadata;
153
+ const context = extendedMetadata?.context;
162
154
  if (extendedMetadata) {
163
155
  delete extendedMetadata.context;
164
156
  }
165
- var record = _extends({
166
- level: level,
157
+ const record = {
158
+ level,
167
159
  key: this.key,
168
160
  displayName: this.displayName,
169
161
  datetime: new Date(),
170
- message: message,
162
+ message,
171
163
  context: context || this.contextObject,
172
164
  metadata: extendedMetadata,
173
- extra: {}
174
- }, options);
165
+ extra: {},
166
+ ...options
167
+ };
175
168
  this.addRecord(record);
176
169
  }
177
170
 
178
171
  /**
179
172
  * Log a trace message
180
- */;
181
- _proto.trace = function trace(messageOrError, metadata, metadataStyles) {
173
+ */
174
+ trace(messageOrError, metadata, metadataStyles) {
182
175
  this.log(messageOrError, metadata, Level.TRACE, {
183
- metadataStyles: metadataStyles
176
+ metadataStyles
184
177
  });
185
178
  }
186
179
 
187
180
  /**
188
181
  * Log a debug message
189
- */;
190
- _proto.debug = function debug(messageOrError, metadata, metadataStyles) {
182
+ */
183
+ debug(messageOrError, metadata, metadataStyles) {
191
184
  this.log(messageOrError, metadata, Level.DEBUG, {
192
- metadataStyles: metadataStyles
185
+ metadataStyles
193
186
  });
194
187
  }
195
188
 
196
189
  /**
197
190
  * Notice an info message
198
- */;
199
- _proto.notice = function notice(messageOrError, metadata, metadataStyles) {
191
+ */
192
+ notice(messageOrError, metadata, metadataStyles) {
200
193
  this.log(messageOrError, metadata, Level.NOTICE, {
201
- metadataStyles: metadataStyles
194
+ metadataStyles
202
195
  });
203
196
  }
204
197
 
205
198
  /**
206
199
  * Log an info message
207
- */;
208
- _proto.info = function info(messageOrError, metadata, metadataStyles) {
200
+ */
201
+ info(messageOrError, metadata, metadataStyles) {
209
202
  this.log(messageOrError, metadata, Level.INFO, {
210
- metadataStyles: metadataStyles
203
+ metadataStyles
211
204
  });
212
205
  }
213
206
 
214
207
  /**
215
208
  * Log a warn message
216
- */;
217
- _proto.warn = function warn(messageOrError, metadata, metadataStyles) {
209
+ */
210
+ warn(messageOrError, metadata, metadataStyles) {
218
211
  this.log(messageOrError, metadata, Level.WARN, {
219
- metadataStyles: metadataStyles
212
+ metadataStyles
220
213
  });
221
214
  }
222
215
 
@@ -232,19 +225,19 @@ var Logger = /*#__PURE__*/function () {
232
225
  * logger.error('caught error', { error });
233
226
  * }
234
227
  * ```
235
- */;
236
- _proto.error = function error(messageOrError, metadata, metadataStyles) {
228
+ */
229
+ error(messageOrError, metadata, metadataStyles) {
237
230
  this.log(messageOrError, metadata, Level.ERROR, {
238
- metadataStyles: metadataStyles
231
+ metadataStyles
239
232
  });
240
233
  }
241
234
 
242
235
  /**
243
236
  * Log an critical message
244
- */;
245
- _proto.critical = function critical(messageOrError, metadata, metadataStyles) {
237
+ */
238
+ critical(messageOrError, metadata, metadataStyles) {
246
239
  this.log(messageOrError, metadata, Level.CRITICAL, {
247
- metadataStyles: metadataStyles
240
+ metadataStyles
248
241
  });
249
242
  }
250
243
 
@@ -260,109 +253,106 @@ var Logger = /*#__PURE__*/function () {
260
253
  * logger.error('caught error', { error });
261
254
  * process.exit(1);
262
255
  * }
263
- */;
264
- _proto.fatal = function fatal(messageOrError, metadata, metadataStyles) {
256
+ */
257
+ fatal(messageOrError, metadata, metadataStyles) {
265
258
  this.log(messageOrError, metadata, Level.FATAL, {
266
- metadataStyles: metadataStyles
259
+ metadataStyles
267
260
  });
268
261
  }
269
262
 
270
263
  /**
271
264
  * Log an alert message
272
- */;
273
- _proto.alert = function alert(messageOrError, metadata, metadataStyles) {
265
+ */
266
+ alert(messageOrError, metadata, metadataStyles) {
274
267
  this.log(messageOrError, metadata, Level.ALERT, {
275
- metadataStyles: metadataStyles
268
+ metadataStyles
276
269
  });
277
270
  }
278
271
 
279
272
  /**
280
273
  * Log an inspected value
281
- */;
282
- _proto.inspectValue = function inspectValue() {
283
- throw new Error('Not supported for the browser. Prefer `debugger;`');
274
+ */
275
+ inspectValue() {
276
+ throw new Error("Not supported for the browser. Prefer `debugger;`");
284
277
  }
285
278
 
286
279
  /**
287
280
  * Log a debugged var
288
- */;
289
- _proto.inspectVar = function inspectVar() {
290
- throw new Error('Not supported for the browser. Prefer `debugger;`');
281
+ */
282
+ inspectVar() {
283
+ throw new Error("Not supported for the browser. Prefer `debugger;`");
291
284
  }
292
285
 
293
286
  /**
294
287
  * Alias for infoSuccess
295
- */;
296
- _proto.success = function success(message, metadata, metadataStyles) {
288
+ */
289
+ success(message, metadata, metadataStyles) {
297
290
  this.infoSuccess(message, metadata, metadataStyles);
298
291
  }
299
292
 
300
293
  /**
301
294
  * Log an info success message
302
- */;
303
- _proto.infoSuccess = function infoSuccess(message, metadata, metadataStyles) {
295
+ */
296
+ infoSuccess(message, metadata, metadataStyles) {
304
297
  this.log(message, metadata, Level.INFO, {
305
- metadataStyles: metadataStyles,
306
- symbol: '',
307
- styles: ['green', 'bold']
298
+ metadataStyles,
299
+ symbol: "",
300
+ styles: ["green", "bold"]
308
301
  });
309
302
  }
310
303
 
311
304
  /**
312
305
  * Log an debug success message
313
- */;
314
- _proto.debugSuccess = function debugSuccess(message, metadata, metadataStyles) {
306
+ */
307
+ debugSuccess(message, metadata, metadataStyles) {
315
308
  this.log(message, metadata, Level.DEBUG, {
316
- metadataStyles: metadataStyles,
317
- symbol: '',
318
- styles: ['green']
309
+ metadataStyles,
310
+ symbol: "",
311
+ styles: ["green"]
319
312
  });
320
313
  }
321
314
 
322
315
  /**
323
316
  * Alias for infoFail
324
- */;
325
- _proto.fail = function fail(messageOrError, metadata, metadataStyles) {
317
+ */
318
+ fail(messageOrError, metadata, metadataStyles) {
326
319
  this.infoFail(messageOrError, metadata, metadataStyles);
327
320
  }
328
321
 
329
322
  /**
330
323
  * Log an info fail message
331
- */;
332
- _proto.infoFail = function infoFail(messageOrError, metadata, metadataStyles) {
324
+ */
325
+ infoFail(messageOrError, metadata, metadataStyles) {
333
326
  this.log(messageOrError, metadata, Level.INFO, {
334
- metadataStyles: metadataStyles,
335
- symbol: '',
336
- styles: ['red', 'bold']
327
+ metadataStyles,
328
+ symbol: "",
329
+ styles: ["red", "bold"]
337
330
  });
338
331
  }
339
332
 
340
333
  /**
341
334
  * Log an debug fail message
342
- */;
343
- _proto.debugFail = function debugFail(messageOrError, metadata, metadataStyles) {
335
+ */
336
+ debugFail(messageOrError, metadata, metadataStyles) {
344
337
  this.log(messageOrError, metadata, Level.DEBUG, {
345
- metadataStyles: metadataStyles,
346
- symbol: '',
347
- styles: ['red']
338
+ metadataStyles,
339
+ symbol: "",
340
+ styles: ["red"]
348
341
  });
349
342
  }
350
343
 
351
344
  /**
352
345
  * @returns {number} time to pass to timeEnd
353
- */;
354
- _proto.time = function time(message, metadata, metadataStyles, level) {
355
- if (level === void 0) {
356
- level = Level.DEBUG;
357
- }
346
+ */
347
+ time(message, metadata, metadataStyles, level = Level.DEBUG) {
358
348
  if (message) {
359
349
  this.log(message, metadata, level, {
360
- metadataStyles: metadataStyles
350
+ metadataStyles
361
351
  });
362
352
  }
363
353
  return Date.now();
364
- };
365
- _proto.infoTime = function infoTime(message, metadata, metadataStyles) {
354
+ }
355
+ infoTime(message, metadata, metadataStyles) {
366
356
  return this.time(message, metadata, metadataStyles, Level.INFO);
367
357
  }
368
358
 
@@ -371,44 +361,42 @@ var Logger = /*#__PURE__*/function () {
371
361
  * was called and when the respective time method
372
362
  * was called, then logs out the difference
373
363
  * and deletes the original record
374
- */;
375
- _proto.timeEnd = function timeEnd(startTime, message, metadata, metadataStyles, level, options) {
376
- if (level === void 0) {
377
- level = Level.DEBUG;
378
- }
379
- var now = Date.now(),
380
- seconds;
381
- var diffTime = now - startTime;
382
- var readableTime;
364
+ */
365
+ timeEnd(startTime, message, metadata, metadataStyles, level = Level.DEBUG, options) {
366
+ const now = Date.now();
367
+ const diffTime = now - startTime;
368
+ let readableTime;
383
369
  if (diffTime < 1000) {
384
- readableTime = diffTime + "ms";
370
+ readableTime = `${diffTime}ms`;
385
371
  } else {
386
- seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;
387
- readableTime = "" + (seconds ? seconds + "s and " : '') + (diffTime - seconds * 1000) + "ms";
372
+ const seconds = diffTime > 1000 ? Math.floor(diffTime / 1000) : 0;
373
+ readableTime = `${seconds ? `${seconds}s and ` : ""}${diffTime - seconds * 1000}ms`;
388
374
  }
389
- var extendedMetadata = _extends({}, metadata, {
390
- readableTime: readableTime,
375
+ const extendedMetadata = {
376
+ ...metadata,
377
+ readableTime,
391
378
  timeMs: diffTime
379
+ };
380
+ this.log(message, extendedMetadata, level, {
381
+ ...options,
382
+ metadataStyles
392
383
  });
393
- this.log(message, extendedMetadata, level, _extends({}, options, {
394
- metadataStyles: metadataStyles
395
- }));
396
384
  }
397
385
 
398
386
  /**
399
387
  * Like timeEnd, but with INFO level
400
- */;
401
- _proto.infoTimeEnd = function infoTimeEnd(time, message, metadata, metadataStyles) {
388
+ */
389
+ infoTimeEnd(time, message, metadata, metadataStyles) {
402
390
  this.timeEnd(time, message, metadata, metadataStyles, Level.INFO);
403
391
  }
404
392
 
405
393
  /**
406
394
  * Like timeEnd, but with INFO level
407
- */;
408
- _proto.infoSuccessTimeEnd = function infoSuccessTimeEnd(time, message, metadata, metadataStyles) {
395
+ */
396
+ infoSuccessTimeEnd(time, message, metadata, metadataStyles) {
409
397
  this.timeEnd(time, message, metadata, metadataStyles, Level.INFO, {
410
- symbol: '',
411
- styles: ['green', 'bold']
398
+ symbol: "",
399
+ styles: ["green", "bold"]
412
400
  });
413
401
  }
414
402
 
@@ -425,13 +413,14 @@ var Logger = /*#__PURE__*/function () {
425
413
  * }
426
414
  * ```
427
415
  *
428
- */;
429
- _proto.enter = function enter(fn, metadata, metadataStyles) {
430
- var extendedMetadata = _extends({}, metadata, {
416
+ */
417
+ enter(fn, metadata, metadataStyles) {
418
+ const extendedMetadata = {
419
+ ...metadata,
431
420
  functionName: fn.name
432
- });
433
- this.log('enter', extendedMetadata, Level.TRACE, {
434
- metadataStyles: metadataStyles
421
+ };
422
+ this.log("enter", extendedMetadata, Level.TRACE, {
423
+ metadataStyles
435
424
  });
436
425
  }
437
426
 
@@ -448,13 +437,14 @@ var Logger = /*#__PURE__*/function () {
448
437
  * }
449
438
  * }
450
439
  * ```
451
- */;
452
- _proto.exit = function exit(fn, metadata, metadataStyles) {
453
- var extendedMetadata = _extends({}, metadata, {
440
+ */
441
+ exit(fn, metadata, metadataStyles) {
442
+ const extendedMetadata = {
443
+ ...metadata,
454
444
  functionName: fn.name
455
- });
456
- this.log('exit', extendedMetadata, Level.TRACE, {
457
- metadataStyles: metadataStyles
445
+ };
446
+ this.log("exit", extendedMetadata, Level.TRACE, {
447
+ metadataStyles
458
448
  });
459
449
  }
460
450
 
@@ -472,15 +462,16 @@ var Logger = /*#__PURE__*/function () {
472
462
  * }
473
463
  * }
474
464
  * ```
475
- */;
476
- _proto.wrap = function wrap(fn, option1, option2, callback) {
477
- var metadata;
478
- var metadataStyles;
479
- if (typeof option1 === 'function') {
465
+ */
466
+
467
+ wrap(fn, option1, option2, callback) {
468
+ let metadata;
469
+ let metadataStyles;
470
+ if (typeof option1 === "function") {
480
471
  callback = option1;
481
472
  } else {
482
473
  metadata = option1;
483
- if (typeof option2 === 'function') {
474
+ if (typeof option2 === "function") {
484
475
  callback = option2;
485
476
  } else {
486
477
  metadataStyles = option2;
@@ -489,9 +480,8 @@ var Logger = /*#__PURE__*/function () {
489
480
  this.enter(fn, metadata, metadataStyles);
490
481
  callback();
491
482
  this.exit(fn);
492
- };
493
- return Logger;
494
- }();
483
+ }
484
+ }
495
485
 
496
486
  export { Logger };
497
487
  //# sourceMappingURL=index-browser.es.js.map