问题描述
使用 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 (将#修改为@)