.
├── 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 | 是否需要加密 | false | true |
ignoreApi | 需要过滤的api | false | 需要写正则 |
reportEncrypt | 需要加密的公钥 | false | -- |
ignoreApi 过滤正则示例: /api/collect|api.ipify.org/g
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)
}