前端客户端日志上报功能开发

tech2025-09-23  18

客户端日志上报功能

描述:最近项目上需要做一个客户端重要报错信息上传保存至服务器,后台集中分析,需要前端支持。

讲一下我这边处理的逻辑,仅供参考:

1.项目初始化时定义一个console.lr()

console['lr'] = function(){}

2.组装要上传至服务器的数据

var obj = { 'time': '时间', ‘equipmentType’:'设备类型', 'userName':'用户名', 'ques':'问题描述' }

3.比较重要的是,有时候上传log遇到网络等问题会上报失败,这时候需要将log信息存在本地,当下次提交时一并上传。

这边用封装好的Session对象保存到本地。

var logList = []; //合并obj logList.push(obj) var localLogList = Session.get("localLogList"); if(localLogList){ logList = logList.concat(localLogList); }

4.开始上传,成功的话清除本地数据,失败在本地数据的基础上继续叠加报错信息。

这边也使用封装过的ajax方法, - -。(基于$ajax封装的)

ApiService.sendLogReport(logList).then(function(res){ if(res.result==0){ Session.delete("localLogList") }else{ Session.set("localLogList",logList) } },function(err){ Session.set("localLogList",logList) })

5.最后只要在项目需要报错的地方添加上log就行了。例如:

console.lr("流媒体报错","断开链接了");

 

最新回复(0)