morgan
安装
npm install morgan -D
使用
const morgan = require('morgan')
morgan(format,options)
format
使用给定的format和options创建一个新的morgan中间件
format:字符串、格式化字符串、生成日志功能的函数
format函数有三个参数:tokens、req、res.
tokens是所有已定义标记的对象,req是HTTP请求,res是HTTP响应
//使用预定义的格式化字符串
morgan('tiny')
//使用预定义tokens的格式化字符串
morgan(':method :url :status :res[content-length] - :response-time ms')
//使用自定义格式化函数
morgan(function (tokens, req, res) {
return [
tokens.method(req, res),
tokens.url(req, res),
tokens.status(req, res),
tokens.res(req, res, 'content-length'), '-',
tokens['response-time'](req, res), 'ms'
].join(' ')
})
Options
immediate 在请求而不是响应写入日志行,这意味着即使服务器崩溃,也将记录请求,但是无法记录来自响应的数据(例如响应代码,内容长度等)
skip 确定是否跳过日志记录函数,默认false,该函数将调用skip(req,res)
//仅记录错误的响应日志 morgan('combined', { skip: function (req, res) { return res.statusCode < 400 } })
stream: 写入日支行的输出流,默认为process.stdout
format 预定义格式
combined 标准的Apache组合日志输出
:remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"
common 标准Apache通用日志输出
:remote-addr - :remote