express-aliyun-log
阿里云日志服务的express中间件,快速配置express应用接入阿里云日志服务
基本用法
const express = ;const bodyParser = ;const logger = ; const app = ;app;; // options见下文说明 app; app;
配置
const options = accessKeyId: 'LTAxxxxxxxxd62' secretAccessKey: '09r8xxxxxxxxxxxoFKeC' endpoint: 'http://us-west-1.log.aliyuncs.com' // 见下面的详细说明 project: 'projectName' // 日志服务的project store: 'storeName' // 日志服务的store outputError: false // 是否显示日志推送失败的错误消息,默认false, maxBodyLength: 1000 // 最大的body长度,默认1000字符(response) outputMode: 'standard' // 日志输出模式,standard默认,向阿里云日志服务提交,可选debug,由console显示,none不显示
记录值
一次请求最多可能包含4条日志,用topic区分,并且拥有相同的requestId
- BASIC 基本的请求记录
- QUERY 链接上的参数,为方便索引,单独拉出一条
- BODY 请求body,需要自行通过bodyParser等中间件解析,没有的话不记录
- RESPONSE 请求的返回值(只有通过res.json的返回才会记录)
__source__:
__topic__: BASIC
method: POST
path: /post
remoteAddress: ::ffff:127.0.0.1
requestId: cf71e53c-86bb-4c2d-9b94-61cdc6aca8f8
responseStatus: 200
responseTime: 2.137ms
time: 2018-09-28T07:08:10.544Z
__source__:
__topic__: BODY
foo: bar
nested: {"foz":"baz"}
requestId: cf71e53c-86bb-4c2d-9b94-61cdc6aca8f8
__source__:
__topic__: QUERY
foo: bar
foz: baz
requestId: cf71e53c-86bb-4c2d-9b94-61cdc6aca8f8
__source__:
__topic__: RESPONSE
foo: bar
requestId: cf71e53c-86bb-4c2d-9b94-61cdc6aca8f8
License
MIT © Wang Sijie