Express的日志模块morgan配置好后登陆相应的页面 access.log自动生成了 为何里面没有任何信息?

server.js内容如下。

var express = require('express');
var app = express();
app.get('/', function(req, res){
    res.send('hello world');
});
app.listen(1337);
console.log('Server running at http://127.0.0.1:1337/');

var favicon = require('serve-favicon');
app.use(favicon(__dirname + '/favicon.ico'));

var fs = require('fs')
var logger = require('morgan');
var accessLogStream = fs.createWriteStream(__dirname + '/access.log', {flags: 'a'});
app.use(logger('combined', {stream: accessLogStream}));
阅读 2.4k
1 个回答

中间件的执行顺序。

res.send('hello world');

之后,这个请求就结束了,到不了打印日志那里。

var fs = require('fs')
var logger = require('morgan');
var accessLogStream = fs.createWriteStream(__dirname + '/access.log', {flags: 'a'});
app.use(logger('combined', {stream: accessLogStream}));

放到处理请求之前就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题