我试图将所有传入的请求及其响应保存到数据库中。
我正试图使用express winston npm包实现这一点,它正在控制台中记录响应主体和请求。但我想把它保存在数据库里。我该怎么做????
var winston = require("winston");
var expressWinston = require("express-winston");
expressWinston.requestWhitelist.push("body");
// expressWinston.responseWhitelist.push("body");
app.use(
expressWinston.logger({
transports: [
new winston.transports.Console({
json: true,
colorize: true
})
]
})
);
expressWinston.responseWhitelist.push("body");
我正在控制台中获取此日志。
{"level":"info","消息":"HTTP GET /ideas/category/hello","meta":{"res":{"statusCode": 200,"body":{"hiiii":"djdjdjdjdd"}},"req":{"url":"/想法/类别/你好","标头":{"host":"localhost:5000","连接":"保持活力","升级-不安全-请求":"1","用户代理":"Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,像壁虎)Chrome/75.0.3770.100Safari /537.36","接受":"text/html,应用程序/xhtml xml,应用程序/xml;q=0.9,图像/webp,图像/apng,/;q=0.8,应用程序/签名交换;v=b3","接受编码":"gzip,收缩,br","接受语言":"en-GB,en;q=0.9,en-US;q=0.8,hi;q=0.7","cookie":"connect.sid=s: 90PCwDOrv0v9yeSYZq-4I4Quactbcduq.8EpLenv6t1lCPqLcV5R1o1/F15p9kEBqrZ82FBHiYJA"},"方法":"GET","http pVersion":"1.1","原始URL":"/想法/类别/你好","查询":{}},"响应时间": 2}}
做了一些研究后,我得到了答案。我们可以使用winston sql transport npm包实现这一点。请参见下面给出的代码:
const { Logger } = require('winston');
const { SQLTransport } = require('./../lib/winston-sql-transport');
const logger = new Logger({
transports: [
new SQLTransport({
tableName: 'winston_logs',
})]
});
module.exports = logger;
在Vertx WebClient中记录传出http请求和响应的最简单方法是什么。我正在寻找类似于httpserver LoggerHandler的东西,但接下来是webclient的输出请求。
使用Netty 4.0.0.beta1,对我来说,将传入/传出HTTP流量记录到基于Netty的服务器的最佳方式是什么?我的管道当前为: 我尝试编写一个实现的处理程序,然后在方法中进行日志记录,这似乎对传入的请求很好,但这是推荐的方式吗? 当我试图实现时,我未能在方法中看到实际的FullHttpResponse对象。 建议?谢了!
我试图记录应用程序中的每个传入请求和传出响应。我正在使用jee 6,所以我没有ContainerRequestFilter和ContainerResponseFilter类。所以我决定用滤镜。 我用@WebFilter(“/*”)注释了一个类,并实现了Filter接口。我成功地读取了请求头和请求正文。我也很难阅读响应标题和响应正文。下面是代码片段 MyHttpServletResponse seW
我在改型API中找不到记录完整请求/响应体的相关方法。我希望在探查器中得到一些帮助(但它只提供关于响应的元数据)。我尝试在构建器中设置日志级别,但这也没有帮助: 编辑:此代码正在工作。我不知道为什么它在早些时候不起作用。可能是因为我用的是旧版本的改装。
在spring中提供了三种不同的方法来连接响应端: 我的目标是记录每个响应(标题状态代码),不管结果如何。 我怎样才能知道上述哪种方法是正确的?
应用程序应异步(在单独的线程中)记录以下信息,而不会影响客户端。 请求HTTP方法和URI 如果我们在过滤器中使用,那么spring将无法再次使用它进行json到对象的映射。在输入流到对象映射期间的某个地方,我们可以插入记录器吗? 更新: 我们可以在MessageConverter中编写日志代码,但这似乎不是一个好主意。