使用stream来生成日志
// 建3个存放不同日志的文件
access.js,error.js,event.js
// 日志执行方法
const fs = require('fs')
const path = require('path')
// 写日志
function writeLog(writeStream,log){
writeStream.write(log+'\n') //关键代码
}
// 生成writeStream
function createWriteStream(fileName){
const fullFileName = path.join(__dirname,'../','../','logs',fileName)
const writeStream = fs.createWriteStream(fullFileName,{
flags:'a'
})
return writeStream
}
// 写访问日志(同理可以写error日志和event日志)
const accessWriteStream = createWriteStream('access.log')
function access(log){
writeLog(accessWriteStream,log)
}
module.exports={
access,
}
//要执行方法的地方先引入
const {access} = require('./src/util/log')
// 执行 access
access(`${req.method} -- ${req.url} -- ${req.headers['user-agent']} -- ${Date.now()}`)