Koa 记录日志

log4js

我们在创建一个日志记录模块,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

Koa 教程 Koa 入门 Koa HTTP Koa 开发框架 Koa 路由 Koa 静态文件 Koa bodyparser Koa 视图 Koa 数据库 Koa 记录日志