express中間件--Morgan 日志記錄


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);
---------------------
作者:no-96
來源:CSDN
原文:https://blog.csdn.net/qq_14998713/article/details/62416901
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM