1.2.9 • Published 2 years ago

node-logkeep v1.2.9

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

node-logkeep

Node日志管理工具

目录表

使用文档

安装

npm install node-logkeep

注册/初始化

const ServerLogger = require('node-logkeep');

const logger = new ServerLogger({
    // APM 采集器地址
    apmAddress: 'http://127.0.0.1',
    // 日志是否写入本地
    localLog: true,
    // 本地日志文件路径.localLog=true时必填
    localDir: './logs/app.log',
    // 业务树,同skywalking service参数
    service: 'test-fron',
    // 业务版本标识,同skywalking serviceVersion
    serviceVersion: 'pc_server_1.0,test-front',
    // 部门标识
    group: 'dept',
    // 子部门标识,部门下的二级标识
    subGroup: 'subdept'
});

ServerLogger(options)options字段说明见初始化参数

日志上报

API:logger.log(logObject, context)

  • logObject:详细字段见日志规范
  • context:上下文信息,可选参数,建议带上
logger.log({
    name: 'var error',
    message: 'a is not a function',
    stack: '',
    grade: 'INFO',
    category: 'defalut'
}, { ctx });

API:logger.info(logInfo, context)

  • logInfo:info日志对象,包含日志名称name和日志信息message两个字段。name是必填字段,message是可选字段,不传入message时默认等于name。
  • context:上下文信息
logger.log({
    name: 'var error',
    message: 'a is not a function',
}, { ctx });

API字段说明

初始化参数

字段名称字段类型是否必填说明
apmAddressstring日志采集器地址,不填写则不会自动上报
servicestring业务树,同skywalking service参数
serviceVersionstring业务版本标识,同skywalking serviceVersion。默认与service相同
groupstring部门标识
subGroupstring二级部门标识
localLogboolean是否日志是否需要写入本地日志
localDirstring本地日志文件路径,如:./logs/app.log。当localLogtrue时必填
sendTimenumber日志上报间隔,默认60000(即60s)
onceUploadLengthnumber每次上报日志条数,默认10
maxQueueLengthnumber日志队列最大存储条数,默认 1000

服务端日志

日志字段字段类型是否必填说明
namestring错误名称
messagestring错误信息
stackstring错误堆栈信息
categorystring错误分类,默认为default
gradestring否 | 日志等级,详见日志级别grade
contextobject上下文信息,最终会转成字符串上报JSON.stringify(obj)

日志分类category

category内置了以下几个类型的日志,如果不满足需求,也可以根据自身业务定义

日志类别说明
defalut默认值
request接口日志
frame框架层日志信息。如koa app.on('error', haadle)
business业务逻辑日志
arg参数相关异常
authority权限类异常日志
render服务端渲染renderToString日志
file文件相关类日志
service依赖服务日志,用于kafkarabbitmq等依赖服务的日志
api依赖接口异常
apiTimeout接口超时
singleApiTimeout单个接口超时。用于扩展apiTimeout,把apiTimeout作为所有接口超时,可以监控到是单个接口超时还是所有接口都超时

日志级别grade

日志级别说明
FATAL最高级别的日志,上报的异常日志可定义为线上P0、P1事故
ALERT仅次于FATAL的严重错误,但影响面较多(影响人数1000~10000,P2线上事故)
ERROR严重错误,但影响面较小(影响人数<1000,P3+线上事故)
WARN程序出现了不按预期执行的逻辑,但是对用户无影响。如:从本地缓存获取失败,但是兜底从redis获取
INFO一些自定义日志,程序不存在异常
TRACE调试日志

功能

  • 规范统一的日志收集工具
  • 支持日志自动同步到skywalking
1.2.9

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago