node.js - 我们如何将 morgan logger 生成的日志存储在 NodeJS 中的变量中?
问题描述
我们如何在 NodeJS 中存储 morgan logger 产生的日志?Morgan 和 morgan-body 以日志的形式生成响应体。如何将这些日志存储在我的数据库或变量中,以便我可以分析存储的日志?
解决方案
您可以将日志写入文件。但是为了更好,您可以使用winston
var express = require('express')
var fs = require('fs')
var morgan = require('morgan')
var path = require('path')
var app = express()
// log only 4xx and 5xx responses to console
app.use(morgan('dev', {
skip: function (req, res) { return res.statusCode < 400 }
}))
// log all requests to access.log
app.use(morgan('common', {
stream: fs.createWriteStream(path.join(__dirname, 'access.log'), { flags: 'a' })
}))
app.get('/', function (req, res) {
res.send('hello, world!')
})
https://www.npmjs.com/package/morgan
您可以阅读日志文件并稍后分析
推荐阅读
- ruby-on-rails - Ruby on Rails:如何按当前用户显示所有产品
- php - 构建一个 WordPress 查询以仅显示当前选定标签内的帖子
- c# - 具有拖放操作的 DataGridView ArgumentOutOfRangeException
- postgresql-12 - Linux处于救援模式,如何备份我的postgres数据库?
- azure-application-insights - Application Insights 聚合事件发生的总和
- python - 我不知道如何解决这个问题(discord.py)
- r - cmprsk 包中的微分线,用于竞争风险生存曲线
- javascript - 未处理的拒绝(TypeError):使用 React 创建天气应用程序时无法读取未定义的属性“过滤器”
- python - 以编程方式将 Salesforce 报告下载为 csv
- .net-5 - 使用 Oakton 检查我的 Net5 核心应用程序的 Lamar 配置并获得空引用,我该如何解决这个问题?