我们在创建一个日志记录模块,https://gitee.com/jmjc/koa-base 这个基本的 Koa 开发框架的功能就搭建完成了。日志模块用的是一个第三方的 Node.js 模块 log4js
。日志的功能我们也定制成一个工具,存放到 utils
目录。
npm i log4js
安装好日志模块,在创建一个 utils/log.js
文件,下面是我们封装完成的代码。
const log4js = require('log4js')
const data = new Date()
log4js.configure({
appenders: {
everything: { type: 'file', filename: `logs/${new Date().toLocaleDateString()}.log` }
},
categories: {
default: { appenders: [ 'everything' ], level: 'info' }
}
})
let logger = log4js.getLogger() // logger.info()
module.exports = logger
// 挂载日志模块
app.use(async (ctx, next) => {
ctx.util = {
log: require('./utils/log')
}
await next()
})
// 记录日志
app.use(async (ctx, next) => {
ctx.util.log.info('Something important')
await next()
})
运行完 ctx.util.log.info('Something important')
方法,在项目的根目录会多出一个 logs
文件夹,里面是我们的日志文件,按天分类。
打开里面的文件,可以看到我们刚刚记录的日志信息 [2018-10-30T17:18:51.450] [INFO] default - Something important。