rSt*_*rms 7 javascript logging node.js axios
我编写了一个小的错误处理函数,在 AXIOS 请求后调用该函数,如下所示:
try {
...
} catch (error) {
handleAxiosError(error);
}
Run Code Online (Sandbox Code Playgroud)
函数如下:
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);
}
Run Code Online (Sandbox Code Playgroud)
虽然抛出了错误:
(节点:94324)UnhandledPromiseRejectionWarning:错误:错误:在handleAxiosError处连接ECONNREFUSED 127.0.0.1:6557(C:\pathtoapp\utils\utils.js:66:11)
Pino 仅将以下内容保存到日志中。我找不到问题所在。这是异步问题吗?
{"level":50,"time":1567435455281,"pid":94324,"hostname":"host","name":"app","res":{},"v":1}
谢谢!
使用异步日志记录(Pino 记录器的默认设置)时,进程可能会在处理所有日志记录之前退出。
请参阅https://github.com/pinojs/pino/blob/HEAD/docs/asynchronous.md
您还可以将日志记录更改为同步,这样就不会出现此问题:
const dest = pino.destination({ sync: true })
| 归档时间: |
|
| 查看次数: |
5383 次 |
| 最近记录: |