Koa2中的log4js自定义中间件
const log4js = require('log4js');
// 配置log4js
log4js.configure({
appenders: {
console: { type: 'console' },
access: { type: 'dateFile', filename: 'logs/access.log', pattern: 'yyyy-MM-dd', alwaysIncludePattern: true },
app: { type: 'dateFile', filename: 'logs/app.log', pattern: 'yyyy-MM-dd', alwaysIncludePattern: true }
},
categories: {
default: { appenders: ['console', 'app'], level: 'info' },
http: { appenders: ['console', 'access'], level: 'info' }
}
});
const logger = log4js.getLogger('http');
// Koa2日志记录中间件
const logMiddleware = () => {
return async (ctx, next) => {
const start = Date.now();
await next();
// 路径、状态码、响应时间
logger.info(`${ctx.method} ${ctx.url} ${ctx.status} - ${Date.now() - start}ms`);
};
};
module.exports = logMiddleware;
这段代码定义了一个Koa2中间件,用于记录每个HTTP请求的方法、URL、状态码和响应时间。它使用了log4js库来进行日志记录,并且将日志输出到控制台和文件中。这个例子展示了如何在实际应用中使用log4js进行日志管理。
评论已关闭