如何将错误格式化为HAPI服务器中的标准输出?
问题描述:
我需要重新格式化来自HAPI的控制台输出,以便在单行中使用堆栈跟踪扫描异常。我遇到的一切看起来都是关于向客户端发送不同的信息,但我需要重新格式化发生异常时输出到stdout的输出。如何将错误格式化为HAPI服务器中的标准输出?
我已经尝试添加一个请求错误处理程序并写入到console.log,并且我看到了我的格式化响应,但多行异常输出仍然紧随其后。
如何格式化异常输出?
答
在观看标准输出时试着做console.log(new Error('asdf'))
。
堆栈跟踪应包括在这一点,但这里是如何将其隔离:
const test = new Error('test')
console.log(test.stack)
我没有运行的节点,现在我还是会证实我的建议。
另外,我相信console.error()
写给stderr。
阅读这些:
- Difference between "process.stdout.write" and "console.log" in node.js?
- https://nodejs.org/api/console.html
你也许可以做这样的事情:
const test = new Error('Detonations detected.')
console.log(`\n
TIME: ${new Date().valueOf()}
ERROR: ${test.message}
STACK: ${test.stack}
`)
// Try this exactly as shown first so you can see
// how the template literal is operating.
这是你在寻找什么?希望这足以说明问题。
也许我解释了这个错误。您是否想要抑制Hapi错误输出并放置自己的? – agm1984