diff --git a/lib/index.js b/lib/index.js index c33f077..7e198a7 100644 --- a/lib/index.js +++ b/lib/index.js @@ -35,14 +35,18 @@ function renderError(err) { message = stackLines[0]; stack = stackLines.slice(1); } else { - message = err.message; + message = err.name + ": " + err.message; } var properties = Object.keys(err).map(function (key) { - return { - key: key, - value: err[key] - }; + if (["name", "message"].indexOf(key) === -1) { + return { + key: key, + value: err[key] + }; + } + }).filter(function (item) { + return item != null; }); if (stack != null) { diff --git a/src/index.js b/src/index.js index 7877a30..8a65ab9 100644 --- a/src/index.js +++ b/src/index.js @@ -34,15 +34,17 @@ function renderError(err) { message = stackLines[0]; stack = stackLines.slice(1); } else { - message = err.message; + message = `${err.name}: ${err.message}`; } let properties = Object.keys(err).map((key) => { - return { - key: key, - value: err[key] - }; - }); + if (["name", "message"].indexOf(key) === -1) { + return { + key: key, + value: err[key] + }; + } + }).filter((item) => item != null); if (stack != null) { properties.push({ diff --git a/test.js b/test.js index 556e52f..1ad8ad9 100644 --- a/test.js +++ b/test.js @@ -17,5 +17,7 @@ err.location = { column: 31 } } +err.name = "GrammarError"; +err.message = "Infinite loop detected."; logger.error(err); \ No newline at end of file