express日志模块Morgan

Morgan简单的express模块

一、Morgan有什么特点

由express官方团队维护

  1. morgan配置非常简单
  2. 支持自定义日志格式
  3. 支持日志压缩
  4. 支持分文件存储

二、安装

npm install morgan --save

三、使用入门

const express=require('express');
const morgan=require('morgan');
const port=3721;
const app=express();
app.use(morgan());
app.get('/',(req,res)=>{
res.end('hello world');
});
app.listen(port,()=>{
console.log(`server listen ${port}`);
});

四、优化配置

  1. 配置日志格式
    (1) :url 请求url,req.originalUrl或者req.url
    (2) :total-time[digits] 处理当期请求所用时间
    (3) :status 处理返回的状态码
    (4) :date[format] 处理的时间 format支持iso(2000-10-10T13:55:36.000Z) clf(10/Oct/2000:13:55:36 +0000)web(Tue, 10 Oct 2000 13:55:36 GMT)
    (5) :remote-addr 访问者ip
  2. 筛选只输出部分日志
    skip:function(req,res){
    retrun res.statusCode<400;
    }
  3. 保存到文件
const express=require('express');
const morgan=require('morgan');
const rfs = require('rotating-file-stream') // version 2.x
const fs=require('fs');
const path=require('path');
const port=3721;
const app=express();
var accessLogStream = rfs.createStream('access.log', {
interval: '1d', // rotate daily
path: path.join(__dirname, 'log')
})
app.use(morgan('[:date[iso]] [:remote-addr] :url - :status - :total-time[2] ',{
  skip:function(req,res){
  	return res.statusCode<400;
  },
  stream: accessLogStream
  
}));
app.get('/',(req,res)=>{
res.status(400).end('hello world');
});
app.listen(port,()=>{
console.log(`server listen ${port}`);
});
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值