如何解决如何单行登录具有响应状态的代理请求?
使用 http-proxy-middleware 我想在 单行 中登录代理收到请求的事实以及目标服务器的响应状态。像这样:
[info] 将 GET /some-resource/1234 代理到目标并在 xxx 毫秒内获得状态 200。
或
[info] 将 GET /some-resource/5678 代理到目标并在 xxx 毫秒内获得状态 500。
我现在有了这个,但它导致每个请求至少有 2 行日志。一个用于请求,一个用于目标的响应,和/或可能一个用于错误。读取大量并发请求会变得混乱。因此,我想要一行。
export const proxyMiddleWare = createProxyMiddleware({
target: Config.proxy.Target,changeOrigin: true,onProxyReq: (proxyReq,req) => {
logger.info(`incoming request to proxy ${req.method} ${req.url}`);
restream(proxyReq,req);
},onProxyRes: (proxyRes,req,res) => {
logger.info(`incoming response from target`);
},onError: (err,res) => {
logger.info(`incoming error from target`);
},});
你会怎么做?
我正在考虑向 req
处理程序中的 onProxyReq
添加一些属性。然后在 onProxyRes
和 onError
处理程序中检查该属性,并仅在另一个尚未记录时记录。但是带有响应的错误呢?...我希望错误状态也出现在日志中,但是如果响应事件早于错误事件怎么办。
如果会有互斥的事件(也许响应和事件是?)。或者只是一个我可以监听的事件总是被调用一次,无论是错误、响应还是响应错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。