Morgan 是一个 node.JS 关于 http 请求的日志中间件
安装模块
- NPM install morgan --save #保存到 package.JSON 的依赖列表
- 1
使用方法
在终端打印日志
- ...
- var logger = require('morgan');
- ...
- App.use(logger('dev'));
- ...
- 1
- 2
- 3
- 4
- 5
每次 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
- 1
- 2
- 3
- 4
将日志写入文件
- 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);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
一天一个日志文件
- 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);
- ---------------------
来源: http://www.bubuko.com/infodetail-2968107.html