From 035af486a2840194fc1878d5c0d6041023d1a289 Mon Sep 17 00:00:00 2001 From: Jonatan Nilsson Date: Mon, 17 Oct 2022 08:49:57 +0000 Subject: [PATCH] bunyan: Potentially fix logging error properties --- lib/bunyan.mjs | 10 ++++++++-- package.json | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/bunyan.mjs b/lib/bunyan.mjs index 5b0f362..528f541 100644 --- a/lib/bunyan.mjs +++ b/lib/bunyan.mjs @@ -771,13 +771,19 @@ Logger.prototype._emit = function (rec, noemit) { function mkRecord(log, minLevel, args) { var excludeFields, fields, msgArgs; if (args[0] instanceof Error) { + var err = args[0]; // `log.(err, ...)` fields = { // Use this Logger's err serializer, if defined. err: (log.serializers && log.serializers.err - ? log.serializers.err(args[0]) - : Logger.stdSerializers.err(args[0])) + ? log.serializers.err(err) + : Logger.stdSerializers.err(err)) }; + for (const key in err) { + if (Object.prototype.hasOwnProperty.call(err, key)) { + fields[key] = err[key]; + } + } excludeFields = {err: true}; if (args.length === 1) { msgArgs = [fields.err.message]; diff --git a/package.json b/package.json index f684b3a..ebce7e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bunyan-lite", - "version": "1.2.0", + "version": "1.2.1", "description": "a lite version of bunyan, a JSON logging library for node.js services with zero dependency", "author": "Jonatan Nilsson (https://nfp.is)", "main": "./lib/bunyan.mjs",