nodejs的express使用全局拦截器保存用户请求和响应日志

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8mb4;

2.日志拦截器的方法

// 全局日志拦截器

const endMiddleware = (req, res, next) => {

const defaultWrite = res.write;

const defaultEnd = res.end;

const chunks = [];

res.write = (…restArgs) => {

chunks.push(Buffer.from(restArgs[0]));

defaultWrite.apply(res, restArgs);

};

res.end = (…restArgs) => {

let mList = [“POST”,“GET”]

if(mList.indexOf(req.method) !== -1){

if (restArgs[0]) {

chunks.push(Buffer.from(restArgs[0]));

}

const body = Buffer.concat(chunks).toString(‘utf8’);

const time = moment(new Date()).format(“YYYY-MM-DD HH:mm:ss”);

AdminRequestLog.create({

user_id: (req.data && req.data.user_id) ? req.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值