一种网页日志收集方法、电子设备和存储介质与流程

文档序号:37210692发布日期:2024-03-05 14:52阅读:16来源:国知局
一种网页日志收集方法、电子设备和存储介质与流程

本发明涉及日志收集,特别是涉及一种网页日志收集方法、电子设备和存储介质。


背景技术:

1、目前已知对网页业务日志的收集方法主要有两种:

2、第一种通过对日志服务器发起http请求,将日志数据附带在请求url参数中,日志服务器通过处理请求日志,筛选出日志数据。第二种是设置代理服务器,通过代理服务器注入日志收集模块代码,通过日志模块将日志上传到日志服务器。

3、第一种方法可以绕过浏览器的安全策略,允许日志服务器和网页服务器使用不同的域名,缺点是每次请求可附带的数据量较小,且无法做前置过滤,增加日志服务器的带宽和存储压力。第二种方法需要用户本地设置代理软件,且受到浏览器同源策略的限制,需要日志服务器和网页服务器使用相同的域名,增加部署的复杂度。


技术实现思路

1、基于上述问题,本发明提供一种网页日志收集方法、电子设备和存储介质。

2、第一方面,本发明实施例提供一种网页日志收集方法,包括:

3、检测到测试人员使用浏览器,安装日志收集扩展,并在日志收集扩展的配置单元中配置测试标志和日志服务器地址,访问目标网页进行功能测试时;

4、日志收集扩展判断目标网页是否已打开,若判断结果为目标网页已打开,脚本注入单元往目标网页注入网页脚本,打开目标网页的日志上报开关,目标网页的连接单元与日志服务器地址对应的日志服务器的连接单元进行websocket连接;

5、目标网页向日志收集扩展发送日志数据,日志收集扩展的日志上报单元对所述日志数据按照预先设定的日志数据结构协议进行封装,封装后发送至日志服务器;

6、日志服务器接收到日志数据后,将日志数据进行分析并存储。

7、进一步地,上述一种网页日志收集方法中,安装日志收集扩展后,还包括:

8、配置单元检查本地浏览器缓存中是否有测试标志和日志服务器地址;

9、若有测试标志和日志服务器地址,则应用测试标志和日志服务器地址为当前配置数据;

10、在日志收集扩展的配置单元中配置测试标志和日志服务器地址后,还包括:

11、将测试标志和日志服务器地址保存到本地浏览器缓存中。

12、进一步地,上述一种网页日志收集方法中,日志收集扩展判断目标网页是否已打开,若判断结果为目标网页已打开,脚本注入单元往目标网页注入网页脚本,包括:

13、日志收集扩展监听当前浏览器的访问资源列表;

14、若监听到测试人员打开目标网页的请求,浏览器触发日志收集扩展的资源监听器;

15、日志收集扩展的连接单元检查是否已连接日志服务器,如果未连接则创建一个websocket连接;

16、日志收集扩展利用浏览器提供的接口,使用脚本注入单元往目标网页注入网页脚本;

17、网页脚本的内容至少包括:往当前网页的sessionstorage写入日志上报开启标识,并监听当前网页的postmessage事件。

18、进一步地,上述一种网页日志收集方法中,目标网页向日志收集扩展发送日志数据,日志收集扩展的日志上报单元对所述日志数据按照预先设定的日志数据结构协议进行封装,封装后发送至日志服务器,包括:

19、目标网页的日志模块,捕获到日志上报开关开启标识后,使用sendmessage接口发送日志数据;

20、网页脚本监听到postmessage事件后,将附带的数据发送至日志收集扩展的上报单元;

21、日志收集扩展的上报单元收到日志数据后,在日志元数据中添加测试标志,将数据按照预先设定的日志数据结构协议进行封装,封装后以arraybuffer的形式通过websocket发给日志服务器;

22、其中,日志数据分为元数据和业务数据两部分,元数据包括日志级别、模块标志、堆栈信息和时间戳。

23、进一步地,上述一种网页日志收集方法中,预先设定的日志数据结构协议中包括:协议版本、测试标志、日志级别、时间戳、模块标志、堆栈字长、堆栈信息、日志字长和日志数据;

24、其中,协议版本为8位无符号整型,用于发送端编码和接收端解码的算法约定;测试标志为32位无符号整型,用于记录日志数据的测试标志内容;日志级别为8位无符号整型,用于记录日志数据的级别;时间戳为32位无符号整型,用于记录日志数据产生的时间;模块标志为32位无符号整型,用于记录产生日志数据的功能模块;堆栈字长为32位无符号整型,用于声明日志数据堆栈内容长度;堆栈信息为json字符串;日志数据字长为32位无符号整型,用于声明日志数据内容长度;日志数据为json字符串。

25、进一步地,上述一种网页日志收集方法中,日志服务器接收到日志数据后,将日志数据进行分析并存储,包括:

26、日志响应单元接收到日志数据后按照日志数据结构协议进行解析,获取元数据;

27、根据元数据中的测试标志,在测试标志申请单元中进行查找;

28、如果对应的测试标志内容存在且未过期失效,则日志数据有效,将所述日志数据发送至日志存储单元进行存储;如果对应的测试标志内容失效时,断开日志数据来源对应的websocket连接。

29、进一步地,上述一种网页日志收集方法中,访问目标网页进行功能测试之前,还包括:

30、接收到开发人员在日志服务器的功能模块设置单元中设置功能模块标志时,对功能模块标志进行设置;

31、接收到开发人员在日志服务器的代码映射管理单元上传sourcemap文件;其中,所述功能模块标志用于查阅数据时,将元数据中的模块标志转化成有可读性的文字,或者修改功能模块进行数据筛选;所述sourcemap文件用于开发人员在日志检索单元查阅错误日志的时候,配置上传的sourcemap直接显示原始代码出错的位置。

32、进一步地,上述一种网页日志收集方法,还包括:

33、日志收集扩展监听目标网页运行中产生的异常信息,解析异常信息数据后组装成日志数据格式,发送至日志服务器。

34、第二方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;

35、所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述的一种网页日志收集方法。

36、第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述的一种网页日志收集方法。

37、本发明实施例的优点在于:本发明通过检测到测试人员使用浏览器,安装日志收集扩展,并在日志收集扩展的配置单元中配置测试标志和日志服务器地址,访问目标网页进行功能测试时;日志收集扩展判断目标网页是否已打开,若判断结果为目标网页已打开,脚本注入单元往目标网页注入网页脚本,打开目标网页的日志上报开关,目标网页的连接单元与日志服务器地址对应的日志服务器的连接单元进行websocket连接;目标网页向日志收集扩展发送日志数据,日志收集扩展的日志上报单元对所述日志数据按照预先设定的日志数据结构协议进行封装,封装后发送至日志服务器;日志服务器接收到日志数据后,将日志数据进行分析并存储。本发明通过chrome浏览器扩展机制,实现日志收集可以前置配置,日志服务器可自由部署,不受域名控制,精准收集故障日志并有效减少带宽和存储压力。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1