koa-log4 管理nodeJs访问日志、系统日志

使用nodeJs koa2框架开发后端应用,使用koa-log4中间件管理nodeJs访问日志、系统日志。
一、安装koa-log4
因为项目使用了koa2,所以安装的高版本的log4,
$ npm i –save koa-log4@2
如果使用koa1,请使用指令
$ npm i –save koa-log4@1

koa-log4 Npm主页
二、新建log4.js文件来配置log4
const path = require(‘path’);//引入原生path模块
const log4js = require(‘koa-log4’);//引入koa-log4

log4js.configure({
appenders: {
//访问日志
access: {
type: ‘dateFile’,
pattern: ‘-yyyy-MM-dd.log’, //通过日期来生成文件
alwaysIncludePattern: true, //文件名始终以日期区分
encoding:”utf-8″,
filename: path.join(‘logs/’, ‘access.log’) //生成文件路径和文件名
},
//系统日志
application: {
type: ‘dateFile’,
pattern: ‘-yyyy-MM-dd.log’, //通过日期来生成文件
alwaysIncludePattern: true, //文件名始终以日期区分
encoding:”utf-8″,
filename: path.join(‘logs/’, ‘application.log’) //生成文件路径和文件名
},
out: {
type: ‘console’
}
},
categories: {
default: { appenders: [ ‘out’ ], level: ‘info’ },
access: { appenders: [ ‘access’ ], level: ‘info’ },
application: { appenders: [ ‘application’ ], level: ‘WARN’}
}
});

exports.accessLogger = () => log4js.koaLogger(log4js.getLogger(‘access’)); //记录所有访问级别的日志
exports.logger = log4js.getLogger(‘application’); //记录所有应用级别的日志

三、如果使用日志
访问日志–记录用户所有访问请求,以中间件的形式在koa入口使用即可
const Koa = require(‘koa’);
const app = new Koa();
const { accessLogger,systemLogger, } = require(‘./logger’);
const router = new KoaRouter();
app.use(accessLogger()); //中间件

系统日志–记录系统状态的error
app.on(‘error’, err => {logger.error(err); });

四、效果

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理