如何在项目中使用log4.js的方法步骤

  

pm2中自带的日志内容是不能满足日常的需求的,因此需要在项目中加上日志管理,这里研究了下log4的使用方法,效果挺好的,想要查看的都可以找到,记录下简单的使用步骤
  

  

<强> log4的配合
  

     //config.js      让道路=要求(“路径”);//日志根目录   让baseLogPath=路径。解决(__dirname“. ./. ./. ./日志”);//请求日志目录   让reqPath=/请求的;//请求日志文件名   让reqFileName=扒肭蟆?//请求日志输出完整路径   让reqLogPath=baseLogPath + reqPath +‘/? reqFileName;//响应日志目录   让resPath=/响应的;//响应日志文件名   让resFileName=跋煊Α?//响应日志输出完整路径   让resLogPath=baseLogPath + resPath +‘/? resFileName;//错误日志目录   让errPath=/错误的;//错误日志文件名   让errFileName=按砦蟆?//错误日志输出完整路径   让errLogPath=baseLogPath + errPath +‘/? errFileName;         模块。出口={   输出源:{//所有的日志   “控制台”:{类型:“控制台”},//请求日志   “reqLogger”: {   类型:' dateFile ',//日志类型   文件名:reqLogPath,//输出文件名   模式:“-yyyy-MM-dd-hh。日志',//后缀   alwaysIncludePattern:真的,//上面两个参数是否合并   编码:“utf - 8”,//编码格式   maxLogSize: 1000//最大存储内容   },//响应日志   “resLogger”: {   类型:“dateFile”,   文件名:resLogPath,   模式:“-yyyy-MM-dd-hh.log”,   alwaysIncludePattern:没错,   编码:“utf - 8”,   maxLogSize: 1000,   },//错误日志   “errLogger”: {   类型:“dateFile”,   文件名:errLogPath,   模式:“-yyyy-MM-dd-hh.log”,   alwaysIncludePattern:没错,   编码:“utf - 8”,   maxLogSize: 1000,   }   },//分类以及日志等级   类别:{   默认值:{   输出源:“控制台”,   级别:“所有”   },   reqLogger: {   输出源:[' reqLogger '),   级别:“信息”   },   resLogger: {   输出源:[' resLogger '),   级别:“信息”   },   errLogger: {   输出源:[' errLogger '),   级别:“错误”   }   },   }      之前      

<强> log4的日志封装
  

  

这里是把log4封装成一个中间件,在应用程序。js中直接调用就可以了
  

     //先安装log4j//log4.js      const log4Config=要求(/配置。)   const log4j=要求(log4j)//调用配置文件   log4js.configure (log4Config)         类CommonHandle {   构造函数(){}//格式化请求日志   静态formatReqLog (ctx) {   让文本=' - - - - - - - - - - - -请求开始- - - - - - - - - - - -”   让方法=ctx.method   文本+='请求方法:${方法}\ n请求url: $ {ctx。originalUrl} \ n”      如果(方法=暗玫健?{   文本+=的请求数据:$ {JSON.stringify (ctx.query)} \ n”   其他}{   文本+=的请求数据:$ {JSON.stringify (ctx.body)} \ n”   }   文本+=' ctx: $ {JSON.stringify (ctx)}”   返回文本   }//格式化相应日志   静态formatResLog (ctx) {   让文本=' - - - - - - - - - - - -反应开始- - - - - - - - - - - -”   文本+=的反应结果:$ {JSON.stringify (ctx.response.body)} \ n”      文本+=的反应:$ {JSON.stringify (ctx)} \ n”      文本+=的响应时间:${时间}\ n '   返回文本   }//格式化错误日志   静态formatErrorLog (ctx、错误、时间){   让文本=' - - - - - - - - - - - -错误的开始- - - - - - - - - - - -”   文本+=this.formatResLog (ctx、时间)   文本+='错误内容:$ {JSON.stringify(错误)}”      返回文本   }   }      类HandleLogger延伸CommonHandle {   构造函数(){   super ()   }//请求日志   静态reqLogger (ctx) {   log4js.getLogger (' reqLogger ') . info (this.formatReqLog (ctx))   }//相应日志   静态resLogger (ctx) {   log4js.getLogger (' resLogger ') . info (this.formatResLog (ctx、时间))   }//错误日志   静态errorLogger (ctx、错误、时间){   log4js.getLogger (' errLogger ') . info (this.formatErrorLog (ctx、错误、时间))   }      }                  模块。出口=(选项)=比;{   下一个返回异步(ctx)=比;{   const开始时间=新的日期()   让时间;   尝试{//请求日志   HandleLogger.reqLogger (ctx)   等待下一个()   时间=new()——开始时间日期//响应日志   HandleLogger.resLogger (ctx)   }捕捉(err) {   时间=new()——开始时间日期//错误日志   HandleLogger。errorLogger (ctx、犯错、周期)   }   }   }   

如何在项目中使用log4.js的方法步骤