1.文件目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201017231606550.png#pic_center)2.封装写入日志函数
src/utils/log.js
const fs = require('fs')
const path = require('path')
// 写日志
function writeLog(writeStream, log) {
writeStream.write(log + '\n') // 关键代码
}
// 生成 write Stream
function createWriteStream(fileName) {
const fullFileName = path.join(__dirname, '../', '../', 'logs', fileName)
const writeStream = fs.createWriteStream(fullFileName, {
flags: 'a'
})
return writeStream
}
// 写访问日志
const accessWriteStream = createWriteStream('access.log')
function access(log) {
writeLog(accessWriteStream, log)
}
// 写错误日志
const errorWriteStream = createWriteStream('error.log')
function error(log) {
writeLog(errorWriteStream, log)
}
// 写事件日志
const eventWriteStream = createWriteStream('event.log')
function event(log) {
writeLog(eventWriteStream, log)
}
module.exports = {
access,
error,
event
}
3.使用
app.js
const { access } = require('./src/utils/log')
...
const serverHandle = (req, res) => {
// 记录access log
access(`${req.method} -- ${req.headers['user-agent']} -- ${Date.now()}`)
...
访问一下:http://localhost:8000/api/blog/list
access.log
GET -- Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36 -- 1602947601866