标题应该很漂亮。
出于调试目的,我想表达为每个服务请求打印响应代码和正文。打印响应代码很容易,但是打印响应主体比较棘手,因为似乎响应主体不容易用作属性。
以下内容不起作用:
var express = require('express');
var app = express();
// define custom logging format
express.logger.format('detailed', function (token, req, res) {
return req.method + ': ' + req.path + ' -> ' + res.statusCode + ': ' + res.body + '\n';
});
// register logging middleware and use custom logging format
app.use(express.logger('detailed'));
// setup routes
app.get(..... omitted ...);
// start server
app.listen(8080);
当然,我可以轻松地在发出请求的客户端上打印响应,但是我也希望在服务器端进行打印。
PS:如果有帮助,我的所有回复都是json,但希望有一个可以与一般回复配合使用的解决方案。
不确定这是否是最简单的解决方案,但是您可以编写中间件来拦截写入响应的数据。确保禁用app.compress()
。
function logResponseBody(req, res, next) {
var oldWrite = res.write,
oldEnd = res.end;
var chunks = [];
res.write = function (chunk) {
chunks.push(chunk);
return oldWrite.apply(res, arguments);
};
res.end = function (chunk) {
if (chunk)
chunks.push(chunk);
var body = Buffer.concat(chunks).toString('utf8');
console.log(req.path, body);
oldEnd.apply(res, arguments);
};
next();
}
app.use(logResponseBody);
我正在移动应用程序到,其中一部分工作是重构来自至。我想将现有的结构化日志数据传递给ApplicationInsights。 称之为: 生成应用程序洞察数据,包括和-yay的自定义维度。 称之为: 在哪里: 不会在Application Insights中生成任何属性。 所以是接口。这只是一个模拟;我真正想利用的是微软的等价物。实践。企业图书馆。伐木。LogEntry. 我的下一步是设置自定义,将属
我正在尝试测试我的Quarkus应用程序。我想检查响应是否大于 0,问题是我调用的终结点返回的是 String 而不是数字。如何将响应转换为数字并检查它是否大于 0? 这是我收到的回复:“28357”。这是我得到的错误:
我正在使用设置为log level=INFO的wildfly21。在部署的代码中有许多记录器。调试语句。 例如 调试语句没有正确记录到文件中,因为日志记录级别设置为INFO。 我的问题是关于logger的性能成本。调试。 在代码中保留调试语句是否有任何性能代价。或者是文件I/O中的实际成本,因此,在需要时将调试语句留作故障排除之用并无害处。
下面的问题对很多人来说可能很愚蠢,因为它应该有一个简单的解决方案,但我是Spring框架的初学者,我一直在搜索和测试许多方法,但都没有成功。 因此,我需要实现基于Spring的Web服务的日志记录。Maven用于依赖项,带有依赖项,而不是整个starter web starter。 我尝试使用log4j,添加了一个依赖项和配置文件,它确实生成了一个日志文件,但只用于记录器本身的初始化,并且没有记录
有没有一种方法可以让fluentd船LivenessProbes输出像它对普通容器在吊舱中的输出一样?
问题内容: 我正在发出HTTP请求并侦听“数据”: 问题在于响应是分块的,因此“数据”只是发送回的一部分内容。 我如何将全身退回? 问题答案: