当前位置: 首页 > 工具软件 > morgan > 使用案例 >

express中间件--Morgan

戚学
2023-12-01

Morgan是一个node.js关于http请求的日志中间件

安装模块

npm install morgan --save #保存到package.json的依赖列表

使用方法

在终端打印日志

...
var logger = require('morgan');
...
app.use(logger('dev'));
...

每次http请求,express实例都会输出日志,并且使用一致的格式

GET / 200 338.136 ms - 170
POST / 404 60.506 ms - 1225
GET /users 200 2.432 ms - 23
POST /users 404 43.958 ms - 1225

将日志写入文件

var express = require('express');
var logger = require('morgan');//日志模块
var fs = require('fs');//文件模块

var app = express();
var accessLogStream = fs.createWriteStream(__dirname+'/access.log',{flags:'a'});//创建一个写入流
app.use(logger('combined',{stream:accessLogStream}));//将日志写入文件
app.get('/',function(req,res){
  res.send('hello world');
})


app.listen(3000);

一天一个日志文件

var express=require('express');
var logger=require('morgan');
var fs=require('fs');
var FileStreamRotator = require('file-stream-rotator');

var app=new express();

//设置日志文件目录
var logDirectory=__dirname+'/logs';
//确保日志文件目录存在 没有则创建
fs.existsSync(logDirectory)||fs.mkdirSync(logDirectory);

//创建一个写路由
var accessLogStream=FileStreamRotator.getStream({
    filename:logDirectory+'/accss-%DATE%.log',
    frequency:'daily',
    verbose:false
})

app.use(logger('combined',{stream:accessLogStream}));//写入日志文件

app.get('/',function(req,res){
    res.send('hello world');
});

app.listen(3000);
 类似资料: