我的项目-log-reportingV1
log-reporting - V1
本系统的开发目的很简单,就是为了在部分情况下搜集前端的异常日志,用于分析异常情况; 如:线上环境的项目我们会吧一些日志删除,如果前端报错那么日志是首选, 这样的情况我们不知道是哪里的报错导致页面崩溃的; 那么开发这款工具常规情况下能解决大部分的问题;
🔈 地址
🔈 日志搜集范围
- 资源: 资源地址不正确或不存在导致的资源异常
- 代码: 搜集报错信息,页面的崩溃等等;
- 请求: 请求参数错误,访问地址不存在,异常拦截
- 额外添加功能: 支持录制自定义时间的视频,但是最大时间不能超过 1 分钟;
🔈 如何使用
🔈js 项目引入
需要克隆下载该项目, 执行命令 pnpm run build, 之后会在根目录 dist 文件下看到打包的对应的文件信息; 根据不同平台引入即可;
下面代码示例为浏览器的使用:
1 | <script src="dist/index.umd.js"></script> |
🔈vue 项目引入
在 vue
中使用, pnpm install log-reporting
安装依赖; 在 main.js
中引入
1 | npm i log-reporting |
1 | import { logReporting } from "log-reporting"; |
根据自己的业务需要开启对应的配置信息;
🔈 注意事项
- 日志上报的方式有俩种:
fetch
和sendBeacon
; - 如果要开启屏幕录制功能那么就不能使用
sendBeacon
,如果您使用sendBeacon
去上报, 那么在复杂的项目目前它是上传不了的, 因为会把录制的元素信息也会上传;这里使用了开源rrweb - 要想使用录制视频上传, 那么请使用
fetch
方式进行上传 - 视频录制的信息使用lz-string进行压缩加密, 如果您使用的情况, 请在服务端或者客户端对该数据进行解压解密;压缩可查阅代码
/src/lib/send.ts 13行左右
, 解压代码可查阅/example/index.html 110-118行左右
- 如果您想要体验效果:那么可以在
/example
目录下进行pnpm install
,之后执行app.js
,之后在/example/index.html
点击按钮模拟报错报错,等上报成功之后可以点击播放按钮预览录制的视频
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Welcome to Wang Xiaoze blog!