node egg 中间件请求拦截 ,日志注册

1.app 目录新建middleware ,创建httplog.js

    const dayjs = request('dayjs');
    const fs = require("fs");
    module.exports = options =>{
        return async (ctx , next)=>{
            console.log("这里是配置的参数" , options)
            const sTime = Date.now();
            const startTime = dayjs(Date.now()).format("YYYY-MM-DD HH:mm:ss");
            const req = ctx.request;
            await next();
            const log = {
                method:req.method,
                url:req.url,
                data:req.body,
                startTime,
                endTime: dayjs(Date.now()).format("YYYY-MM-DD HH:mm:ss"),
                timeLength:Date.now() - sTime
            }
            const data = dayjs(Date.now().format("YYYY-MM-DD HH:mm:ss"))+ "[httplog]"+JSON.stringify(log)+"\r\n";
            fs.appendFileSync(ctx.app.baseDir+ 'httpLog.log',data) 
        }
    }

2.在config.default.js中配置 (config目录)

config.middleware = ["httplog"]

3.中间件参数配置:
在config.default.js 添加

config.middleware = ["httplog"]
config.httpLog = {
  type:'all'
} 

打开httpLog

   module.exports = options =>{
        return async (ctx , next)=>{
            console.log("这里是配置的参数" , options)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容