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

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

这篇文章主要介绍了如何在项目中使用log4.js的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

log4的配合

//config.js

let path=require(' path ');

//日志根目录

设baseLogPath=path。resolve(_ _ dirname,'./././logs ');

//请求日志目录

let req path='/request ';

//请求日志文件名

let reqFileName='请求

//请求日志输出完整路径

let req log path=baseLogPath req path '/' req filename;

//响应日志目录

let resPath='/response ';

//响应日志文件名

let resFileName='响应

//响应日志输出完整路径

let resLogPath=baseLogPath resPath '/' resFileName;

//错误日志目录

let errPath='/error ';

//错误日志文件名

let errFileName=' error

//错误日志输出完整路径

let errlog path=baseLogPath errPath '/' errFileName;

模块。导出={

附录:{

//所有的日志

控制台':{类型:'控制台' },

//请求日志

请求记录器':{

类型:'日期文件',//日志类型

文件名:请求日志路径,//输出文件名

模式:"-yyyy-MM-dd-hh.log ",//后缀

alwaysIncludePattern: true,//上面两个参数是否合并

编码:" utf-8 ",//编码格式

maxLogSize: 1000,//最大存储内容

},

//响应日志

" RES logger":{

类型:"日期文件",

文件名:resLogPath,

模式:"-yyyy-MM-dd-hh.log ",

alwaysIncludePattern: true,

编码:“utf-8”,

maxLogSize: 1000,

},

//错误日志

错误记录器':{

类型:"日期文件",

文件名:错误路径,

模式:"-yyyy-MM-dd-hh.log ",

alwaysIncludePattern: true,

编码:“utf-8”,

maxLogSize: 1000,

}

},

//分类以及日志等级

类别:{

默认值:{

appenders: ['console'],

级别:"全部"

},

请求记录器:{

appenders: ['reqLogger'],

级别:"信息"

},

resLogger: {

appenders: ['resLogger'],

级别:"信息"

},

错误记录器:{

appenders: ['errLogger'],

级别:"错误"

}

},

}

log4的日志封装

这里是把日志四封装成一个中间件,在app.js中直接调用就可以了

//先安装log4js

//log4.js

const log4Config=require(' ./config’)

const log4js=require('log4js ')

//调用配置文件

log4js.configure(log4Config)

类CommonHandle {

构造函数(){}

//格式化请求日志

静态格式请求日志(ctx,时间){

let text=' -请求开始-'

let method=ctx.method

text=请求方法:${method} \n请求网址:$ { CTX。原始URL } \ n ` s

if(method='GET'){

text=请求数据:$ { JSON。斯特林菲(CTX。查询)} \ n ` n

}否则{

text=请求数据:$ { JSON。斯特林菲(CTX。body)} \ n ` s

}

text=` CTX所有:$ { JSON。stringify(CTX)} ` 1

返回文本

}

//格式化相应日志

静态格式日志(ctx,时间){

let text=' -响应开始-'

text=响应结果:$ { JSON。斯特林菲(CTX。回应。body)} \ n ` s

text=` response all:$ { JSON。stringify(CTX)} \ n ` s

text=响应时间:${time} \n '

返回文本

}

//格式化错误日志

静态格式错误日志(ctx,错误,时间){

let text=' -错误开始-'

text=this.formatResLog(ctx,time)

text=错误内容:${JSON.stringify(错误)} `

返回文本

}

}

类手柄记录器扩展CommonHandle{

构造函数(){

超级()

}

//请求日志

静态请求记录器(ctx){

log4js.getLogger('reqLogger ').info(this.formatReqLog(ctx))

}

//相应日志

静态resLogger(ctx,time){

log4js.getLogger('resLogger ').info(this.formatResLog(ctx,time))

}

//错误日志

静态错误记录器(ctx,错误,时间){

log4js.getLogger('errLogger ').info(this.formatErrorLog(ctx,error,time))

}

}

module.exports=(options)={

返回异步(ctx,next)={

常数开始时间=新日期()

让句号;

尝试{

//请求日志

HandleLogger.reqLogger(ctx)

等待下一个()

周期=新日期()-开始时间

//响应日志

HandleLogger.resLogger(ctx,句点)

}catch(err){

周期=新日期()-开始时间

//错误日志

HandleLogger.errorLogger(ctx,err,period)

}

}

}

调用封装好的日志函数

这里直接以中间件的形式调用就可以了

//app.js

const Koa=require('koa ')

常量应用程序=新树袋熊()

const LogJS=require(' ./common/log/log4’)

//log4.js引入

app.use(LogJS())

最后部署上线之后就能直接在根目录下的日志文件夹下查看对应的日志内容。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于js中的全等和不全等,等于和不等于问题的关系,,关于JS中的全等和不全等、等于和不等于问题
  • Vue项目启动,nodejs启动vue项目,如何启动一个Vue.js项目
  • vue双向绑定和单向绑定,vue.js 双向绑定,Vue双向绑定详解
  • vue事件修饰符和按键修饰符,vue事件绑定修饰符都有哪些,Vue.js 事件修饰符的使用教程
  • vue中-model的作用,Vue中的v-model指令的作用是-,vue.js 实现v-model与{{}}指令方法
  • vue2.0双向绑定原理,vue.js 双向绑定
  • vue2.0双向绑定原理,vue.js 双向绑定,深入理解vue.js双向绑定的实现原理
  • vue.js路由跳转,vue-router路由跳转,Vue路由跳转的4种方式小结
  • vue.js打包,vue前端如何打包,详解Vue项目的打包方式
  • vue.js前后端分离,vue前后端分离web项目,Vue之前端体系与前后端分离详解
  • vue.js 遍历数组,vue中遍历数组中的一个对象中的值
  • vue.js 遍历数组,vue中遍历数组中的一个对象中的值,Vue中遍历数组的新方法实例详解
  • UglifyJsPlugin,,Uglifyjs(JS代码优化工具)入门 安装使用
  • seajs教程,seajs还有人用吗,Sea.JS知识总结
  • require的用法js,require.js
  • 留言与评论(共有 条评论)
       
    验证码: