Webpack开发服务器代理配置留档:
https://webpack.js.org/configuration/dev-server/#devserver-代理
表示它使用http代理中间件:
https://github.com/chimurai/http-proxy-middleware#http-代理事件
使用上述链接中记录的onProxyRes
功能,我可以执行以下操作:
function onProxyRes(proxyRes, req, res) {
proxyRes.headers['x-added'] = 'foobar'; // add new header to response
delete proxyRes.headers['x-removed']; // remove header from response
console.log(req.headers) // log headers
console.log(req.body) // undefined
console.log(proxyReq.body) // undefined
}
我的问题是,尽管其他一切都很好——我无法记录请求主体——它返回未定义的
有人知道如何为了调试目的读取请求主体吗?我是否需要使用npm
body-parser
模块?如果有,如何?thx
我尝试用快速体解析器模块记录请求,但它导致请求挂起。使用正文模块对请求正文进行日志修复。
const anyBody = require('body/any')
onProxyReq(proxyReq, req, res) {
anyBody(req, res, function (err, body) {
if (err) console.error(err)
console.log(body)
})
})
请注意,我在express中也使用了相同的方法,如下所示:
app.use((req, res, next) => {
anyBody(req, res, function (err, body) {
if (err) console.error(err)
console.log(body)
})
next()
})
我用body-parser
解决了一个类似的问题。
在发送到服务器之前,我试图修改请求正文,这导致请求挂起,可能是因为更改正文时,请求的Content-L长度
不再匹配(导致其被截断)。
解决方案是在编写新请求正文之前“调整”内容长度:
var bodyParser = require('body-parser');
devServer: {
before: function (app, server) {
app.use(bodyParser.json());
},
onProxyReq: function (proxyReq, req, res) {
req.body = {
...req.body,
myProperty: "myPropertyValue"
};
const body = JSON.stringify(req.body);
proxyReq.setHeader('Content-Length', Buffer.byteLength(body));
proxyReq.write(body);
}
}
不确定,但在您的情况下,可能是请求被添加/删除标头截断,导致其挂起。
我正在通过后码头日志记录,并试图找出打印的每个属性的含义 123.4.5.6---[27/Aug/2004:10:16:17 0000]“GET/jetty/tut/XmlConfiguration.html HTTP/1.1”200 76793”http://localhost:8080/jetty/tut/logging.html“Mozilla/5.0(X11;U;Linux i686;en
我有一个Spring Rest控制器,可以满足以下要求: 我想在日志中将我的12223334455号替换为1******4455号,我已经为其制定了一个方法: 但这个请求并不是在句柄中,而是在控制器内部的某个地方。使用该方法屏蔽我的号码的最佳方法是什么?
问题内容: 我还找不到关于如何使用Log4j的XML样式配置文件配置Hibernate日志记录的任何文档。 这是否有可能,或者我是否使用属性样式配置文件来控制Hibernate的日志记录? 如果有人有任何信息或文档链接,我们将不胜感激。 编辑: 只是为了澄清,我正在寻找控制Hibernate的实际XML语法的示例。 EDIT2: 这是我的XML配置文件中的内容。 日志记录工作正常,但是我正在寻找一
我试图通过aop在控制器中记录超文本传输协议请求。但是,在方面代码中,如果我 那么请求数据将无法在主流中检索。 所以,我创建了另一个公共方法,在控制器中传递请求字符串 这种方法是记录“数据”的切入点。 但问题是,这种方法的切入点似乎无法通过Spring识别,这种方法没有日志记录。我需要帮助。 下面是aop的定义
每当我部署一个外部化配置有错误的生产应用程序时,我都会在Tomcat日志中收到以下消息: 显然,外部化的配置是在log4j被正确初始化之前处理的,因此没有附加程序可以接受来自的消息。 有没有办法预先初始化log4j,以便在标准Grails log4j初始化发生之前捕获这些消息?
问题内容: 如何配置OpenEJB日志记录格式?这就是我现在在日志中看到的内容: 我想禁用消息,并更改其他消息的格式。中的更改无效。 问题答案: 这是我为使事情正常运行所做的工作: 现在工作正常。这是我的: 这是: 现在,由于大卫的支持,我可以在测试期间微调OpenEJB的日志记录:)