首页 > 其他 > 详细

koa日志中间件

时间:2021-09-10 06:40:36      阅读:33      评论:0      收藏:0      [点我收藏+]
// 安装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日志中间件

原文:https://www.cnblogs.com/shanyuqin/p/15242413.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!