@decaf-ts/logging 0.10.4 → 0.10.6

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,4 +1,4 @@
1
- import { LoggerFactory, LoggingConfig, LoggingContext, StringLike, Theme, Logger } from "./types";
1
+ import { LoggerFactory, LoggingConfig, LoggingContext, LogMeta, StringLike, Theme, Logger } from "./types";
2
2
  import { LogLevel } from "./constants";
3
3
  import { LoggedEnvironment } from "./environment";
4
4
  export declare const ROOT_CONTEXT_SYMBOL: unique symbol;
@@ -46,7 +46,8 @@ export declare class MiniLogger implements Logger {
46
46
  * @param {Error} [error] - Optional error to extract stack trace to include in the log.
47
47
  * @return {string} A formatted log string with all components.
48
48
  */
49
- protected createLog(level: LogLevel, message: StringLike | Error, error?: Error): string;
49
+ protected createLog(level: LogLevel, message: StringLike | Error, error?: Error, meta?: LogMeta): string;
50
+ private formatMeta;
50
51
  /**
51
52
  * @description Logs a message with the specified log level.
52
53
  * @summary Checks if the message should be logged based on the current log level, then uses the appropriate console method to output the formatted log.
@@ -55,66 +56,74 @@ export declare class MiniLogger implements Logger {
55
56
  * @param {Error} [error] - Optional stack trace to include in the log.
56
57
  * @return {void}
57
58
  */
58
- protected log(level: LogLevel, msg: StringLike | Error, error?: Error): void;
59
+ protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
59
60
  /**
60
61
  * @description Logs a message at the benchmark level.
61
62
  * @summary Logs a message at the benchmark level if the current verbosity setting allows it.
62
63
  * @param {StringLike} msg - The message to be logged.
64
+ * @param {object} [meta] - Optional metadata to include with the entry.
63
65
  * @return {void}
64
66
  */
65
- benchmark(msg: StringLike): void;
67
+ benchmark(msg: StringLike, meta?: LogMeta): void;
66
68
  /**
67
69
  * @description Logs a message at the silly level.
68
70
  * @summary Logs a message at the silly level if the current verbosity setting allows it.
69
71
  * @param {StringLike} msg - The message to be logged.
70
72
  * @param {number} [verbosity=0] - The verbosity level of the message.
73
+ * @param {object} [meta] - Optional metadata to include with the entry.
71
74
  * @return {void}
72
75
  */
73
- silly(msg: StringLike, verbosity?: number): void;
76
+ silly(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
74
77
  /**
75
78
  * @description Logs a message at the verbose level.
76
79
  * @summary Logs a message at the verbose level if the current verbosity setting allows it.
77
80
  * @param {StringLike} msg - The message to be logged.
78
81
  * @param {number} [verbosity=0] - The verbosity level of the message.
82
+ * @param {object} [meta] - Optional metadata to include with the entry.
79
83
  * @return {void}
80
84
  */
81
- verbose(msg: StringLike, verbosity?: number): void;
85
+ verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
82
86
  /**
83
87
  * @description Logs a message at the info level.
84
88
  * @summary Logs a message at the info level for general application information.
85
89
  * @param {StringLike} msg - The message to be logged.
90
+ * @param {object} [meta] - Optional metadata to include with the entry.
86
91
  * @return {void}
87
92
  */
88
- info(msg: StringLike): void;
93
+ info(msg: StringLike, meta?: LogMeta): void;
89
94
  /**
90
95
  * @description Logs a message at the debug level.
91
96
  * @summary Logs a message at the debug level for detailed troubleshooting information.
92
97
  * @param {StringLike} msg - The message to be logged.
98
+ * @param {object} [meta] - Optional metadata to include with the entry.
93
99
  * @return {void}
94
100
  */
95
- debug(msg: StringLike): void;
101
+ debug(msg: StringLike, meta?: LogMeta): void;
96
102
  /**
97
103
  * @description Logs a message at the error level.
98
104
  * @summary Logs a message at the error level for errors and exceptions.
99
105
  * @param {StringLike | Error} msg - The message to be logged or an Error object.
100
- * @param {Error} [e] - Optional error to include in the log.
106
+ * @param {Error|object} [e] - Optional error or metadata to include in the log.
107
+ * @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
101
108
  * @return {void}
102
109
  */
103
- error(msg: StringLike | Error, e?: Error): void;
110
+ error(msg: StringLike | Error, e?: Error | LogMeta, meta?: LogMeta): void;
104
111
  /**
105
112
  * @description Logs a message at the warning level.
106
113
  * @summary Logs a message at the warning level for potential issues.
107
114
  * @param {StringLike} msg - The message to be logged.
115
+ * @param {object} [meta] - Optional metadata to include with the entry.
108
116
  * @return {void}
109
117
  */
110
- warn(msg: StringLike): void;
118
+ warn(msg: StringLike, meta?: LogMeta): void;
111
119
  /**
112
120
  * @description Logs a message at the trace level.
113
121
  * @summary Logs a message at the trace level for tracing code execution.
114
122
  * @param {StringLike} msg - The message to be logged.
123
+ * @param {object} [meta] - Optional metadata to include with the entry.
115
124
  * @return {void}
116
125
  */
117
- trace(msg: StringLike): void;
126
+ trace(msg: StringLike, meta?: LogMeta): void;
118
127
  /**
119
128
  * @description Updates the logger configuration.
120
129
  * @summary Merges the provided configuration with the existing configuration.
@@ -236,60 +245,69 @@ export declare class Logging {
236
245
  * @description Logs a verbose message.
237
246
  * @summary Delegates the verbose logging to the global logger instance.
238
247
  * @param {StringLike} msg - The message to be logged.
239
- * @param {number} [verbosity=0] - The verbosity level of the message.
248
+ * @param {number|object} [verbosity] - The verbosity level or metadata object.
249
+ * @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
240
250
  * @return {void}
241
251
  */
242
- static verbose(msg: StringLike, verbosity?: number): void;
252
+ static verbose(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
243
253
  /**
244
254
  * @description Logs an info message.
245
255
  * @summary Delegates the info logging to the global logger instance.
246
256
  * @param {StringLike} msg - The message to be logged.
257
+ * @param {object} [meta] - Optional metadata to include with the entry.
247
258
  * @return {void}
248
259
  */
249
- static info(msg: StringLike): void;
260
+ static info(msg: StringLike, meta?: LogMeta): void;
250
261
  /**
251
262
  * @description Logs a trace message.
252
263
  * @summary Delegates the trace logging to the global logger instance.
253
264
  * @param {StringLike} msg - The message to be logged.
265
+ * @param {object} [meta] - Optional metadata to include with the entry.
254
266
  * @return {void}
255
267
  */
256
- static trace(msg: StringLike): void;
268
+ static trace(msg: StringLike, meta?: LogMeta): void;
257
269
  /**
258
270
  * @description Logs a debug message.
259
271
  * @summary Delegates the debug logging to the global logger instance.
260
272
  * @param {StringLike} msg - The message to be logged.
273
+ * @param {object} [meta] - Optional metadata to include with the entry.
261
274
  * @return {void}
262
275
  */
263
- static debug(msg: StringLike): void;
276
+ static debug(msg: StringLike, meta?: LogMeta): void;
264
277
  /**
265
278
  * @description Logs a benchmark message.
266
279
  * @summary Delegates the benchmark logging to the global logger instance.
267
280
  * @param {StringLike} msg - The message to be logged.
281
+ * @param {object} [meta] - Optional metadata to include with the entry.
268
282
  * @return {void}
269
283
  */
270
- static benchmark(msg: StringLike): void;
284
+ static benchmark(msg: StringLike, meta?: LogMeta): void;
271
285
  /**
272
286
  * @description Logs a silly message.
273
287
  * @summary Delegates the silly logging to the global logger instance.
274
288
  * @param {StringLike} msg - The message to be logged.
289
+ * @param {number|object} [verbosity] - The verbosity level or metadata object.
290
+ * @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
275
291
  * @return {void}
276
292
  */
277
- static silly(msg: StringLike): void;
293
+ static silly(msg: StringLike, verbosityOrMeta?: number | LogMeta, meta?: LogMeta): void;
278
294
  /**
279
295
  * @description Logs a warning message.
280
296
  * @summary Delegates the warning logging to the global logger instance.
281
297
  * @param {StringLike} msg - The message to be logged.
298
+ * @param {object} [meta] - Optional metadata to include with the entry.
282
299
  * @return {void}
283
300
  */
284
- static warn(msg: StringLike): void;
301
+ static warn(msg: StringLike, meta?: LogMeta): void;
285
302
  /**
286
303
  * @description Logs an error message.
287
304
  * @summary Delegates the error logging to the global logger instance.
288
305
  * @param {StringLike | Error} msg - The message to be logged.
289
- * @param {Error} [e] - Optional error to include in the log.
306
+ * @param {Error|object} [e] - Optional error or metadata to include in the log.
307
+ * @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
290
308
  * @return {void}
291
309
  */
292
- static error(msg: StringLike | Error, e?: Error): void;
310
+ static error(msg: StringLike | Error, e?: Error | LogMeta, meta?: LogMeta): void;
293
311
  /**
294
312
  * @description Creates a logger for a specific object or context.
295
313
  * @summary Creates a new logger instance for the given object or context using the factory function.
@@ -142,7 +142,7 @@ export class MiniLogger {
142
142
  * @param {Error} [error] - Optional error to extract stack trace to include in the log.
143
143
  * @return {string} A formatted log string with all components.
144
144
  */
145
- createLog(level, message, error) {
145
+ createLog(level, message, error, meta) {
146
146
  const log = {};
147
147
  const style = this.config("style");
148
148
  const separator = this.config("separator");
@@ -190,6 +190,12 @@ export class MiniLogger {
190
190
  ? message
191
191
  : message.message;
192
192
  log.message = msg;
193
+ const showMeta = Boolean(this.config("meta"));
194
+ const metaPayload = showMeta && meta ? meta : undefined;
195
+ const metaString = metaPayload ? this.formatMeta(metaPayload) : undefined;
196
+ if (metaPayload) {
197
+ log.meta = metaPayload;
198
+ }
193
199
  if (error || message instanceof Error) {
194
200
  const stack = style
195
201
  ? Logging.theme((error?.stack || message.stack), "stack", level)
@@ -199,8 +205,8 @@ export class MiniLogger {
199
205
  switch (this.config("format")) {
200
206
  case "json":
201
207
  return JSON.stringify(log);
202
- case "raw":
203
- return this.config("pattern")
208
+ case "raw": {
209
+ const generated = this.config("pattern")
204
210
  .split(" ")
205
211
  .map((s) => {
206
212
  if (!s.match(/\{.*?}/g))
@@ -212,10 +218,21 @@ export class MiniLogger {
212
218
  })
213
219
  .filter((s) => s)
214
220
  .join(" ");
221
+ return metaString ? `${generated} ${metaString}` : generated;
222
+ }
215
223
  default:
216
224
  throw new Error(`Unsupported logging format: ${this.config("format")}`);
217
225
  }
218
226
  }
227
+ formatMeta(meta) {
228
+ try {
229
+ return JSON.stringify(meta);
230
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
231
+ }
232
+ catch (err) {
233
+ return String(meta);
234
+ }
235
+ }
219
236
  /**
220
237
  * @description Logs a message with the specified log level.
221
238
  * @summary Checks if the message should be logged based on the current log level, then uses the appropriate console method to output the formatted log.
@@ -224,7 +241,7 @@ export class MiniLogger {
224
241
  * @param {Error} [error] - Optional stack trace to include in the log.
225
242
  * @return {void}
226
243
  */
227
- log(level, msg, error) {
244
+ log(level, msg, error, meta) {
228
245
  const confLvl = this.config("level");
229
246
  if (NumericLogLevels[confLvl] < NumericLogLevels[level])
230
247
  return;
@@ -234,9 +251,9 @@ export class MiniLogger {
234
251
  method = console.log;
235
252
  break;
236
253
  case LogLevel.info:
254
+ case LogLevel.verbose:
237
255
  method = console.log;
238
256
  break;
239
- case LogLevel.verbose:
240
257
  case LogLevel.debug:
241
258
  method = console.debug;
242
259
  break;
@@ -255,84 +272,105 @@ export class MiniLogger {
255
272
  default:
256
273
  throw new Error("Invalid log level");
257
274
  }
258
- method(this.createLog(level, msg, error));
275
+ method(this.createLog(level, msg, error, meta));
259
276
  }
260
277
  /**
261
278
  * @description Logs a message at the benchmark level.
262
279
  * @summary Logs a message at the benchmark level if the current verbosity setting allows it.
263
280
  * @param {StringLike} msg - The message to be logged.
281
+ * @param {object} [meta] - Optional metadata to include with the entry.
264
282
  * @return {void}
265
283
  */
266
- benchmark(msg) {
267
- this.log(LogLevel.benchmark, msg);
284
+ benchmark(msg, meta) {
285
+ this.log(LogLevel.benchmark, msg, undefined, meta);
268
286
  }
269
287
  /**
270
288
  * @description Logs a message at the silly level.
271
289
  * @summary Logs a message at the silly level if the current verbosity setting allows it.
272
290
  * @param {StringLike} msg - The message to be logged.
273
291
  * @param {number} [verbosity=0] - The verbosity level of the message.
292
+ * @param {object} [meta] - Optional metadata to include with the entry.
274
293
  * @return {void}
275
294
  */
276
- silly(msg, verbosity = 0) {
295
+ silly(msg, verbosityOrMeta = 0, meta) {
296
+ const verbosity = typeof verbosityOrMeta === "number" ? verbosityOrMeta : 0;
297
+ const payloadMeta = typeof verbosityOrMeta === "number" ? meta : verbosityOrMeta;
277
298
  if (this.config("verbose") >= verbosity)
278
- this.log(LogLevel.silly, msg);
299
+ this.log(LogLevel.silly, msg, undefined, payloadMeta);
279
300
  }
280
301
  /**
281
302
  * @description Logs a message at the verbose level.
282
303
  * @summary Logs a message at the verbose level if the current verbosity setting allows it.
283
304
  * @param {StringLike} msg - The message to be logged.
284
305
  * @param {number} [verbosity=0] - The verbosity level of the message.
306
+ * @param {object} [meta] - Optional metadata to include with the entry.
285
307
  * @return {void}
286
308
  */
287
- verbose(msg, verbosity = 0) {
309
+ verbose(msg, verbosityOrMeta = 0, meta) {
310
+ const verbosity = typeof verbosityOrMeta === "number" ? verbosityOrMeta : 0;
311
+ const payloadMeta = typeof verbosityOrMeta === "number" ? meta : verbosityOrMeta;
288
312
  if (this.config("verbose") >= verbosity)
289
- this.log(LogLevel.verbose, msg);
313
+ this.log(LogLevel.verbose, msg, undefined, payloadMeta);
290
314
  }
291
315
  /**
292
316
  * @description Logs a message at the info level.
293
317
  * @summary Logs a message at the info level for general application information.
294
318
  * @param {StringLike} msg - The message to be logged.
319
+ * @param {object} [meta] - Optional metadata to include with the entry.
295
320
  * @return {void}
296
321
  */
297
- info(msg) {
298
- this.log(LogLevel.info, msg);
322
+ info(msg, meta) {
323
+ this.log(LogLevel.info, msg, undefined, meta);
299
324
  }
300
325
  /**
301
326
  * @description Logs a message at the debug level.
302
327
  * @summary Logs a message at the debug level for detailed troubleshooting information.
303
328
  * @param {StringLike} msg - The message to be logged.
329
+ * @param {object} [meta] - Optional metadata to include with the entry.
304
330
  * @return {void}
305
331
  */
306
- debug(msg) {
307
- this.log(LogLevel.debug, msg);
332
+ debug(msg, meta) {
333
+ this.log(LogLevel.debug, msg, undefined, meta);
308
334
  }
309
335
  /**
310
336
  * @description Logs a message at the error level.
311
337
  * @summary Logs a message at the error level for errors and exceptions.
312
338
  * @param {StringLike | Error} msg - The message to be logged or an Error object.
313
- * @param {Error} [e] - Optional error to include in the log.
339
+ * @param {Error|object} [e] - Optional error or metadata to include in the log.
340
+ * @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
314
341
  * @return {void}
315
342
  */
316
- error(msg, e) {
317
- this.log(LogLevel.error, msg, e);
343
+ error(msg, e, meta) {
344
+ let errorCandidate;
345
+ let payloadMeta;
346
+ if (e instanceof Error) {
347
+ errorCandidate = e;
348
+ payloadMeta = meta;
349
+ }
350
+ else {
351
+ payloadMeta = e;
352
+ }
353
+ this.log(LogLevel.error, msg, errorCandidate, payloadMeta);
318
354
  }
319
355
  /**
320
356
  * @description Logs a message at the warning level.
321
357
  * @summary Logs a message at the warning level for potential issues.
322
358
  * @param {StringLike} msg - The message to be logged.
359
+ * @param {object} [meta] - Optional metadata to include with the entry.
323
360
  * @return {void}
324
361
  */
325
- warn(msg) {
326
- this.log(LogLevel.warn, msg);
362
+ warn(msg, meta) {
363
+ this.log(LogLevel.warn, msg, undefined, meta);
327
364
  }
328
365
  /**
329
366
  * @description Logs a message at the trace level.
330
367
  * @summary Logs a message at the trace level for tracing code execution.
331
368
  * @param {StringLike} msg - The message to be logged.
369
+ * @param {object} [meta] - Optional metadata to include with the entry.
332
370
  * @return {void}
333
371
  */
334
- trace(msg) {
335
- this.log(LogLevel.trace, msg);
372
+ trace(msg, meta) {
373
+ this.log(LogLevel.trace, msg, undefined, meta);
336
374
  }
337
375
  /**
338
376
  * @description Updates the logger configuration.
@@ -473,75 +511,84 @@ export class Logging {
473
511
  * @description Logs a verbose message.
474
512
  * @summary Delegates the verbose logging to the global logger instance.
475
513
  * @param {StringLike} msg - The message to be logged.
476
- * @param {number} [verbosity=0] - The verbosity level of the message.
514
+ * @param {number|object} [verbosity] - The verbosity level or metadata object.
515
+ * @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
477
516
  * @return {void}
478
517
  */
479
- static verbose(msg, verbosity = 0) {
480
- return this.get().verbose(msg, verbosity);
518
+ static verbose(msg, verbosityOrMeta = 0, meta) {
519
+ return this.get().verbose(msg, verbosityOrMeta, meta);
481
520
  }
482
521
  /**
483
522
  * @description Logs an info message.
484
523
  * @summary Delegates the info logging to the global logger instance.
485
524
  * @param {StringLike} msg - The message to be logged.
525
+ * @param {object} [meta] - Optional metadata to include with the entry.
486
526
  * @return {void}
487
527
  */
488
- static info(msg) {
489
- return this.get().info(msg);
528
+ static info(msg, meta) {
529
+ return this.get().info(msg, meta);
490
530
  }
491
531
  /**
492
532
  * @description Logs a trace message.
493
533
  * @summary Delegates the trace logging to the global logger instance.
494
534
  * @param {StringLike} msg - The message to be logged.
535
+ * @param {object} [meta] - Optional metadata to include with the entry.
495
536
  * @return {void}
496
537
  */
497
- static trace(msg) {
498
- return this.get().trace(msg);
538
+ static trace(msg, meta) {
539
+ return this.get().trace(msg, meta);
499
540
  }
500
541
  /**
501
542
  * @description Logs a debug message.
502
543
  * @summary Delegates the debug logging to the global logger instance.
503
544
  * @param {StringLike} msg - The message to be logged.
545
+ * @param {object} [meta] - Optional metadata to include with the entry.
504
546
  * @return {void}
505
547
  */
506
- static debug(msg) {
507
- return this.get().debug(msg);
548
+ static debug(msg, meta) {
549
+ return this.get().debug(msg, meta);
508
550
  }
509
551
  /**
510
552
  * @description Logs a benchmark message.
511
553
  * @summary Delegates the benchmark logging to the global logger instance.
512
554
  * @param {StringLike} msg - The message to be logged.
555
+ * @param {object} [meta] - Optional metadata to include with the entry.
513
556
  * @return {void}
514
557
  */
515
- static benchmark(msg) {
516
- return this.get().benchmark(msg);
558
+ static benchmark(msg, meta) {
559
+ return this.get().benchmark(msg, meta);
517
560
  }
518
561
  /**
519
562
  * @description Logs a silly message.
520
563
  * @summary Delegates the silly logging to the global logger instance.
521
564
  * @param {StringLike} msg - The message to be logged.
565
+ * @param {number|object} [verbosity] - The verbosity level or metadata object.
566
+ * @param {object} [meta] - Optional metadata applied when a verbosity level is provided.
522
567
  * @return {void}
523
568
  */
524
- static silly(msg) {
525
- return this.get().silly(msg);
569
+ static silly(msg, verbosityOrMeta = 0, meta) {
570
+ return this.get().silly(msg, verbosityOrMeta, meta);
526
571
  }
527
572
  /**
528
573
  * @description Logs a warning message.
529
574
  * @summary Delegates the warning logging to the global logger instance.
530
575
  * @param {StringLike} msg - The message to be logged.
576
+ * @param {object} [meta] - Optional metadata to include with the entry.
531
577
  * @return {void}
532
578
  */
533
- static warn(msg) {
534
- return this.get().warn(msg);
579
+ static warn(msg, meta) {
580
+ return this.get().warn(msg, meta);
535
581
  }
536
582
  /**
537
583
  * @description Logs an error message.
538
584
  * @summary Delegates the error logging to the global logger instance.
539
585
  * @param {StringLike | Error} msg - The message to be logged.
540
- * @param {Error} [e] - Optional error to include in the log.
586
+ * @param {Error|object} [e] - Optional error or metadata to include in the log.
587
+ * @param {object} [meta] - Optional metadata to include with the entry when an error is supplied.
541
588
  * @return {void}
542
589
  */
543
- static error(msg, e) {
544
- return this.get().error(msg, e);
590
+ static error(msg, e, meta) {
591
+ return this.get().error(msg, e, meta);
545
592
  }
546
593
  /**
547
594
  * @description Creates a logger for a specific object or context.
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Logger as PinoBaseLogger } from "pino";
2
2
  import { MiniLogger } from "../logging";
3
- import { Logger, LoggerFactory, LoggingConfig, StringLike } from "../types";
3
+ import { Logger, LoggerFactory, LogMeta, LoggingConfig, StringLike } from "../types";
4
4
  import { LogLevel } from "../constants";
5
5
  /**
6
6
  * @description A logger that is powered by the Pino logging library.
@@ -13,8 +13,8 @@ import { LogLevel } from "../constants";
13
13
  export declare class PinoLogger extends MiniLogger implements Logger {
14
14
  protected pino: PinoBaseLogger;
15
15
  constructor(context?: string, conf?: Partial<LoggingConfig>, driver?: PinoBaseLogger);
16
- protected log(level: LogLevel, msg: StringLike | Error, error?: Error): void;
17
- fatal(msg: StringLike | Error, error?: Error): void;
16
+ protected log(level: LogLevel, msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
17
+ fatal(msg: StringLike | Error, error?: Error, meta?: LogMeta): void;
18
18
  child(bindings?: Record<string, unknown>, options?: Record<string, unknown>): PinoLogger;
19
19
  flush(): void | Promise<void>;
20
20
  get level(): string | undefined;
@@ -6,7 +6,7 @@ const LogLevelToPino = {
6
6
  [LogLevel.error]: "error",
7
7
  [LogLevel.warn]: "warn",
8
8
  [LogLevel.info]: "info",
9
- [LogLevel.verbose]: "debug",
9
+ [LogLevel.verbose]: "info",
10
10
  [LogLevel.debug]: "debug",
11
11
  [LogLevel.trace]: "trace",
12
12
  [LogLevel.silly]: "trace",
@@ -40,9 +40,7 @@ const buildPinoOptions = (context, config, overrides) => {
40
40
  options.level = toPinoLevel(config.level);
41
41
  if (!options.name)
42
42
  options.name = context;
43
- options.timestamp = config.timestamp
44
- ? () => new Date().toISOString()
45
- : false;
43
+ options.timestamp = config.timestamp ? () => new Date().toISOString() : false;
46
44
  return options;
47
45
  };
48
46
  const isDestinationStream = (candidate) => {
@@ -85,8 +83,8 @@ export class PinoLogger extends MiniLogger {
85
83
  const destination = buildDestination(config.transports || undefined);
86
84
  this.pino = pino(options, destination);
87
85
  }
88
- log(level, msg, error) {
89
- const formatted = this.createLog(level, msg, error);
86
+ log(level, msg, error, meta) {
87
+ const formatted = this.createLog(level, msg, error, meta);
90
88
  const methodName = toPinoLevel(level);
91
89
  const emitter = this.pino[methodName];
92
90
  if (typeof emitter === "function") {
@@ -100,14 +98,14 @@ export class PinoLogger extends MiniLogger {
100
98
  });
101
99
  }
102
100
  }
103
- fatal(msg, error) {
104
- const formatted = this.createLog(LogLevel.error, msg, error);
101
+ fatal(msg, error, meta) {
102
+ const formatted = this.createLog(LogLevel.error, msg, error, meta);
105
103
  const fatal = this.pino.fatal;
106
104
  if (typeof fatal === "function") {
107
105
  fatal.call(this.pino, formatted);
108
106
  }
109
107
  else {
110
- this.error(msg, error);
108
+ this.error(msg, error, meta);
111
109
  }
112
110
  }
113
111
  child(bindings = {}, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../../src/pino/pino.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../../src/pino/pino.ts"],"names":[],"mappings":"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"}