express-log-middleware

1.1.8 • Public • Published

express-log-middleware

说明

app.use(
    require('express-log-middleware')(config)
);

name type description
config.model string 项目模板名称(用于指定Elasticsearch中的index) 必填项
config.level string 日志输出级别
config.logDir string 日志输出路径
config.getBusinessData function 获取业务专有数据(这些数据会一同发送到日志服务) 参数 params req
config.onParams function 对缺省params进行处理,返回处理后params 参数 params req
config.filter function 过滤函数,不提供此函数或返回true代表需要输出日志 参数 req
config.logEnv string 日志环境 目前EFK/ELK 项目迁移进openshift之后使用其中集成的EFK不用再使用log4js收集日志; default: "ELK"

使用实例

不对参数进行处理
//logEnv = "EFK"
app.use(
  require('express-log-middleware')({logEnv: 'EFK'}); //如果logEnv是EFK, 只用这一个配置即可;
)

//logEnv = "ELK"
app.use(
    require('express-log-middleware')({model: 'education_cloud'})
);  
使用onParams 定制参数
app.use(
require('express-log-middleware')({
        model: 'education_cloud',
        onParams: (params,req) => ({userId:req.user.id})
    })
);
使用getBusinessData 增加额外信息
app.use(require('express-log-middleware')({
  model: 'education_cloud',
  getBusinessData: function (params, req) {
    let user = req.user || {};
    const customer = req.customer || {};
    return {
      userId: user.id || -1,
      customeUrl:customer.url || '-'
    }
  }
}));
logEnv->ELK debug
req.logger.log('xxx')
req.logger.error('xxx')

logEnv->EFK debug
console.log(JSON.stringify({})); //如果输出日志是jsonstring, EFK会处parse之后提取key/value
console.log('this is a test');   //字符串输出 

console.warn('debug尽量不要换行输出');

Readme

Keywords

none

Package Sidebar

Install

npm i express-log-middleware

Weekly Downloads

0

Version

1.1.8

License

ISC

Unpacked Size

8.46 kB

Total Files

4

Last publish

Collaborators

  • zhiker