首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nodejs日志中间件

Nodejs日志中间件
EN

Stack Overflow用户
提问于 2017-09-14 21:02:32
回答 2查看 107关注 0票数 0

我想有一个快速的基于日志文件内的应用程序的请求和响应的每个请求。我希望只有json和有关响应的请求。你能给我推荐一个中间件或者其他的解决方案吗?

诚挚的问候

EN

回答 2

Stack Overflow用户

发布于 2017-09-14 21:22:48

尝试使用Morgan,并使用可跳过非json请求的自定义过滤器。

代码语言:javascript
运行
复制
app.use(
  morgan(
    ':method :url :status :res[content-length] - :response-time ms',
    { skip: skipNonJSON }
  )
)

skipNonJSON可以定义如下,

代码语言:javascript
运行
复制
function skipNonJSON(request, respnose) {
  return !(/\.json$/.test(req.url))
}

如果您所说的json请求是指以.json结尾的URL。对于JSON有效加载的请求,请查看标头

代码语言:javascript
运行
复制
function skipNonJSON(request, respnose) {
  return req.headers["Content-Type"] !== "application/json";
}
票数 2
EN

Stack Overflow用户

发布于 2017-09-14 21:39:14

你可以使用winston记录器,它是高度可配置的。

代码语言:javascript
运行
复制
const winston = require('winston');
let logger = new (winston.Logger)({
  transports: [
    new (winston.transports.File)({ filename: 'file.log' })
  ]
 });
logger.info('Your custom data to log');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46219930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档