From 8769d47a8b23dbda0069e285fbf1cda9e3e9f265 Mon Sep 17 00:00:00 2001 From: eivindrs Date: Mon, 17 Oct 2022 22:04:57 -0700 Subject: [PATCH] Handle undefined errors in getAllInfo (#2208) --- lib/winston/exception-handler.js | 10 +++++----- test/unit/winston/exception-handler.test.js | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/winston/exception-handler.js b/lib/winston/exception-handler.js index 682c530e5..a5f2b250c 100644 --- a/lib/winston/exception-handler.js +++ b/lib/winston/exception-handler.js @@ -73,9 +73,9 @@ module.exports = class ExceptionHandler { * @returns {mixed} - TODO: add return description. */ getAllInfo(err) { - let { message } = err; - if (!message && typeof err === 'string') { - message = err; + let message = null; + if (err) { + message = typeof err === 'string' ? err : err.message; } return { @@ -84,9 +84,9 @@ module.exports = class ExceptionHandler { level: 'error', message: [ `uncaughtException: ${(message || '(no error message)')}`, - err.stack || ' No stack trace' + err && err.stack || ' No stack trace' ].join('\n'), - stack: err.stack, + stack: err && err.stack, exception: true, date: new Date().toString(), process: this.getProcessInfo(), diff --git a/test/unit/winston/exception-handler.test.js b/test/unit/winston/exception-handler.test.js index 8ddb12dcc..151e2931c 100644 --- a/test/unit/winston/exception-handler.test.js +++ b/test/unit/winston/exception-handler.test.js @@ -106,6 +106,12 @@ describe('ExceptionHandler', function () { helpers.throw('wtf this error'); }); + it('.getAllInfo(undefined)', function () { + var handler = helpers.exceptionHandler(); + // eslint-disable-next-line no-undefined + handler.getAllInfo(undefined); + }); + after(function () { // // Restore normal `runTest` functionality