0.0.3 • Published 10 months ago

front-behavior-logger v0.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

前端日志收集

项目结构介绍

.
├── core
│   ├── CustomXMLHttpRequest.ts // 重写XMLHttpRequest 监听页面接口请求
│   ├── ajax.ts // 上报日志服务器
│   ├── clickEvent.ts // 处理点击事件
│   ├── collect.ts   // 收集基类
│   ├── collectError.ts // 收集前端错误信息
│   ├── customEvent.ts  // 自定义事件
│   ├── noninvasiveFirstScreen.ts // 获取页面加载性能
│   ├── report.ts // 上报信息
│   └── urlChange.ts // 监听url变化上次信息
├── main.ts // 主文件
└── types.ts // 类型文件

安装方法

npm install collect-front-logger -S

使用方法

import CollectErrors from 'collect-front-logger';

const co = new CollectErrors({
  appId: 'appid', // 必填
  reportUri: '', // 必填:  默认:
  reportToDecrypt: false // 选填是否需要加密
});

参数

参数解释是否必填默认值
appId每个项目的标识true--
reportUri需要上传到哪个接口里false接口
reportToDecrypt是否需要加密falsetrue
ignoreApi需要过滤的apifalse需要写正则
reportEncrypt需要加密的公钥false--

ignoreApi 过滤正则示例: /api\/collect|api.ipify.org/g

内置hook

clickEventHook: ((target: IError, e: any) => IError | undefined) | undefined
collectErrorHook: ((target: IError, e: any) => IError | undefined) | undefined
customXMLHttpRequestHook: ((target: IError, e: any) => IError | undefined) | undefined
noninvasiveFirstScreenHook: ((target: IError, e: any) => IError | undefined) | undefined
urlChangeHook: ((target: IError, e: any) => IError | undefined) | undefined

自定义订阅

on(key: string, backCall: () => IError){
    this.customEvent.addSubscribe(key, backCall)
  }
emit(key: string, params: Object) {
  this.customEvent.run(key, params)
}
0.0.3

10 months ago