我编写了一个小的错误处理函数,该函数在AXIOS请求之后调用,如下所示:
try {
...
} catch (error) {
handleAxiosError(error);
}
功能如下:
function handleAxiosError(error) {
if (error.response !== undefined) {
logger.error(`Received a HTTP error. Status code: ${error.response.status}, Data: ${error.response.data}`);
} else if (error.request !== undefined) {
logger.error(error.request);
} else {
logger.error(error.message);
}
throw new Error(error);
}
尽管会引发错误:
(节点:94324)UnhandledPromiseRejectionWarning:错误:错误:连接ECONNREFUSED 127.0.0.1:6557 在handleAxiosError(C:\ pathtoapp \ utils \ utils.js:66:11)
Pino仅将以下内容保存到日志中。我找不到问题。这是异步问题吗?
{“ level”:50,“ time”:1567435455281,“ pid”:94324,“ hostname”:“ host”,“ name”:“ app”,“ res”:{},“ v”:1 }
谢谢!
答案 0 :(得分:0)
使用异步日志记录(Pino记录器的默认设置)时,该进程可能在处理所有日志记录之前退出。
请参见https://github.com/pinojs/pino/blob/HEAD/docs/asynchronous.md
您还可以将日志记录更改为同步,这样就不会出现此问题:
const dest = pino.destination({ sync: true })