zl程序教程

您现在的位置是:首页 >  后端

当前栏目

express 中日志中间件 morgan 使用

中间件日志 Express 使用
2023-09-11 14:22:30 时间
express 默认日志组件 morgan 使用参考详细:

https://www.cnblogs.com/chyingp/p/node-learning-guide-express-morgan.html

morgan是express默认的日志中间件,也可以脱离express,作为node.js的日志组件单独使用。

入门例子

首先,初始化项目。

npm install express morgan

然后,在basic.js中添加如下代码。

var express = require('express');
var app = express();
var morgan = require('morgan');

app.use(morgan('short'));
app.use(function(req, res, next){
    res.send('ok');
});

app.listen(3000);

node basic.js运行程序,并在浏览器里访问 http://127.0.0.1:3000 ,打印日志如下

➜  2016.12.11-advanced-morgan git:(master) ✗ node basic.js
::ffff:127.0.0.1 - GET / HTTP/1.1 304 - - 3.019 ms
::ffff:127.0.0.1 - GET /favicon.ico HTTP/1.1 200 2 - 0.984 ms

将日志打印到本地文件

morgan支持stream配置项,可以通过它来实现将日志落地的效果,代码如下:

var express = require('express');
var app = express();
var morgan = require('morgan');
var fs = require('fs');
var path = require('path');

var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), {flags: 'a'});

app.use(morgan('short', {stream: accessLogStream}));
app.use(function(req, res, next){
    res.send('ok');
});

app.listen(3000);