koa日志中间件

// 安装log4js
npm install log4js --save-dev
// log.ts
import Koa from ‘koa‘ import log4js from ‘log4js‘ const env = process.env.NODE_ENV log4js.configure({ appenders: { everything: { type: ‘dateFile‘, filename: ‘./logs/day‘, pattern: ‘yyyy-MM-dd.log‘, alwaysIncludePattern: true, keepFileExt: true, daysToKeep: 7 }, dev: { type: ‘console‘ } }, categories: { default: { appenders: [‘everything‘], level: ‘info‘ }, dev: { appenders: [‘dev‘, ‘everything‘], level: ‘debug‘ } } }) let logger = env !== ‘production‘ ? log4js.getLogger(‘dev‘) : log4js.getLogger() export default async function (ctx: Koa.Context, next: Koa.Next) { ctx.logger = logger try { // 放行请求,以捕捉请求内异常 await next() if (ctx.status === 404) { ctx.throw(404); } // 记录大于200的错误 const ctxBody = ctx.body as IResult if (ctxBody.code > 200) { logger.info(JSON.stringify({ url: ctx.url, message: ctxBody.message })) } } catch (error: any) { // 记录异常日志 logger.error(JSON.stringify({ url: ctx.url, error: error.message })) } }

koa日志中间件

上一篇:未能加载文件或程序集“********”或它的某一个依赖项。试图加载格式不正确的程序。


下一篇:《数据分析实战:基于EXCEL和SPSS系列工具的实践》——1.4 数据分析的流程