0.0.2 • Published 3 years ago

collect-currentpage-info v0.0.2

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

Collect Currentpage Info

收集用户浏览器客户端信息,包括浏览器基础信息、ajax请求列表(数据、接口、异常等)、异常采集列表(资源加载、js报错等),支持采集用户行为轨迹。所有操作都是采集当前页面。信息下载到本地(用户触发, alt + k)。这个包是前端日志监控的sdk部分。

本地存储到indexDb,所以请开发者确认用户浏览器是否支持。

当前版本数据只支持本地下载后再导入到后台(私有化部署问题,用户那边没办法上报到我们服务器,只能让用户给我们日志,快捷键 alt + k),执行下载后,本地数据全部清除。

引入方式:

先全局配置
// 这个是每个产品的标记
window.CollectCurrentPageInfoId = 'webfunny768';
// 每个产品的测试用户(每个产品固定一个),方便后台查询
window.CollectCurrentPageInfoUserId = 'userId4';
// 当前项目版本好
window.CollectCurrentPageInfoProjectVersion = '0.1.1';
// 本地存储最大日志数量,超出后会按照顺序移除日志
window.CollectCurrentPageInfoIndexDbSizeRecordNum = 2000;

然后在html header 头部引入

<script src="./es/collectCurrentpageInfo.js" ></script>

如果是 vue 项目,首先还是在html头部引入sdk,然后在项目 main.js里加入下面代码

// main.ts
import Vue from 'vue'
// ....

Vue.config.errorHandler = () =>{
  // 原来项目的异常处理方法
}

// 监听vue异常数据,下面这两段代码
const debugHandle = (window as any).VueDebugHandler
debugHandle && debugHandle(Vue)

sdk 会全局注册一个 VueDebugHandler 方法, 参数为 Vue 对象。

原理是通过重写 Vue.config.errorHandler 捕获方法