From f3c8fd23c9566d37f4f0b1b079e268d46a56090d Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 26 Jan 2018 19:08:13 +0100 Subject: [PATCH] feat: stringify unknown errors for better visibility (#1449) feat: stringify unknown errors for better visibility --- lib/workers/repository/error.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js index 67fa22c2aa..add300d20d 100644 --- a/lib/workers/repository/error.js +++ b/lib/workers/repository/error.js @@ -38,8 +38,26 @@ async function handleError(config, err) { return err.message; } // Swallow this error so that other repositories can be processed - logger.error({ err }, `Repository has unknown error`); + logger.error( + { err }, + `Repository has unknown error:\n${stringifyError(err, null, ' ')}` + ); // delete branchList to avoid cleaning up branches delete config.branchList; // eslint-disable-line no-param-reassign return 'unknown-error'; } + +function stringifyError(err, filter, space) { + let stringifiedError = ''; + try { + const plainObject = {}; + Object.getOwnPropertyNames(err).forEach(key => { + plainObject[key] = err[key]; + }); + stringifiedError = JSON.stringify(plainObject, filter, space); + } catch (err2) { + // istanbul ignore next + logger.warn({ err2 }, 'Error stringifying unknown error'); + } + return stringifiedError; +} -- GitLab