移动端日志信息处理方法、装置、设备及存储介质与流程

文档序号:29435333发布日期:2022-03-30 08:27阅读:138来源:国知局
移动端日志信息处理方法、装置、设备及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种移动端日志信息处理方法、装置、设备及存储介质。


背景技术:

2.目前测试人员和开发人员对移动端应用进行调试时,调试日志会存储到设备终端上或者通过网络传输到日志服务器,后期通过导出日志文件,在移动终端上或者在电脑终端上使用日志查看软件打开查看。以上两种方式均不可以实时地查看运行日志,并且如果用户在没有电脑终端的情况下,就不能及时地查看日志,随着后续的其他操作,日志信息量增大,给后续日志的阅读与分析带来极大的不便。


技术实现要素:

3.本技术实施例的目的在于提供一种移动端日志信息处理方法、装置、设备及存储介质,用于在不依赖mac终端和不安装日志查询软件的前提下,在应用调试过程中,实时显示应用的日志信息。
4.为此,本技术第一方面公开一种移动端日志信息处理方法,所述方法包括:
5.获取所述移动终端的第一日志收集函数的方法编号;
6.基于所述移动终端的runtime机制,修改所述第一日志收集函数的方法编号的函数指针,以使得所述函数指针指向第二日志收集函数;
7.基于所述第二日志收集函数获取所述移动终端的日志信息;
8.基于所述移动终端的日志展示面板展示所述移动终端的日志信息。
9.在本技术第一方面中,作为一种可选的实施方式,在所述获取所述移动终端的第一日志收集函数的方法编号之前,所述方法还包括:
10.检测用户是否触发所述移动终端的实时日志收集配置开关,若所述用户触发了所述实时日志收集配置开关,则执行所述获取所述移动终端的第一日志收集函数的方法编号。
11.在本技术第一方面中,作为一种可选的实施方式,在所述基于所述移动终端的日志展示面板展示所述移动终端的日志信息之后,所述方法还包括:
12.检测用户是否触发所述移动终端的实时日志信息输出暂停开关,若所述用户触发了所述实时日志信息输出暂停开,则停止在所述日志展示面板展示所述移动终端的日志信息。
13.在本技术第一方面中,作为一种可选的实施方式,在所述基于所述第二日志收集函数获取所述移动终端的日志信息之后,所述基于所述移动终端的日志展示面板展示所述移动终端的日志信息之前,所述方法还包括:
14.获取用户输入的日志筛选信息;
15.根据所述日志筛选信息从所述移动终端的日志信息中,筛选出满足第一预设条件
的日志信息,并展示所述满足第一预设条件的日志信息。
16.在本技术第一方面中,作为一种可选的实施方式,所述日志筛选信息为日志输出级别、过滤字符串中的一种。
17.在本技术第一方面中,作为一种可选的实施方式,在所述基于所述移动终端的日志展示面板展示所述移动终端的日志信息之前,所述方法还包括:
18.接收针对所述日志展示面板的调整参数或针对所述日志展示面板的隐藏指令;
19.根据所述调整参数调整所述日志展示面板;
20.或基于所述日志展示面板的隐藏指令,隐藏所述日志展示面板。
21.在本技术第一方面中,作为一种可选的实施方式,在所述基于所述移动终端的日志展示面板展示所述移动终端的日志信息之后,所述方法还包括:
22.接收用户触发的日志保存导出指令;
23.基于所述日志保存导出指令保存所述移动终端的日志信息。
24.本技术第二方面公开一种移动端日志信息处理装置,所述装置包括:
25.获取模块,用于获取所述移动终端的第一日志收集函数的方法编号;
26.日志收集模块,用于基于所述移动终端的runtime机制,修改所述第一日志收集函数的方法编号的函数指针,以使得所述函数指针指向第二日志收集函数;
27.所述日志收集模块,还用于基于所述第二日志收集函数获取所述移动终端的日志信息;
28.日志展示模块,用于基于所述移动终端的日志展示面板展示所述移动终端的日志信息。
29.本技术第三方面公开一种移动端日志信息处理设备,所述设备包括:
30.存储有可执行程序代码的存储器;
31.与所述存储器耦合的处理器;
32.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本技术第一方面的移动端日志信息处理方法。
33.本技术第四方面公开一种存储介质,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本技术第一方面的移动端日志信息处理方法。
34.与现有技术相比,本技术通过执行移动端日志信息处理方法,能够在移动终端运动应用时,基于runtime机制,替换第一日志收集函数,使得移动终端执行第二日志收集函数,其中,第二日志收集函数能够与第一日志收集函数一样起到收集日志信息的同时,还能够实时显示收集到的日志信息,例如,第一日志收集函数能够收集应用在运行时,所产生的日志信息a,但是由于第一日志函数本身为系统自带而并未实现日志如何展示的逻辑,进而其无法在收集日志信息的同时,实时显示收集到的日志信息a,然而第二日志收集函数则增加了日志实时展示的逻辑,这样一来,第二日志收集函数在收集日志信息a的同时,又能够基于日志实时展示的逻辑实时显示日志信息a,而不需要通过在非移动终端上安装额外的日志查看软件,用于查看日志信息a,如不需要通过在mac电脑上安装额外的日志查看软件查看日志信息a。另一方面,通过第二日志收集函数也可克服在应用运行完毕才能看到日志信息这一缺点,而能够在应用运行时,即能看到日志信息。
附图说明
35.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
36.图1是本技术实施例公开的一种移动端日志信息处理方法的流程示意图;
37.图2是本技术实施例公开的一种移动端日志信息处理装置的结构示意图;
38.图3是本技术实施例公开的一种移动端日志信息处理设备的结构示意图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
40.实施例一
41.请参阅图1,图1是本技术实施例公开的一种移动端日志信息处理方法的流程示意图。如图1所示,本技术实施例的移动端日志信息处理方法包括以下步骤:
42.101、获取移动终端的第一日志收集函数的方法编号;
43.102、基于移动终端的runtime机制,修改第一日志收集函数的方法编号的函数指针,以使得函数指针指向第二日志收集函数;
44.103、基于第二日志收集函数获取移动终端的日志信息;
45.104、基于移动终端的日志展示面板展示移动终端的日志信息。
46.在本技术实施例中,对于步骤101,移动终端的第一日志收集函数是指移动终端自带的日志收集函数,其中,移动终端自带的日志收集函数能够在应用运行时,收集应用的日志信息,例如,在应用程序a的运行时,收集应用程序的日志信息,另一方面,移动终端自带的日志收集函数所获取的日志信息无法在运行应用程序时,实时展示。
47.进一步地,在移动终端中,每个函数都对应一个方法编号,其中,方法编号可通过移动终端的selector()方法获取,另一方面,么个方法编号对应一个函数指针,该函数指针存储有一个函数具体实现过程所在的存储地址。
48.进一步地,优选地,本技术实施例的移动终端为搭载ios操作系统的移动设备,如ios移动手机、ios平板电脑。
49.在本技术实施例中,对于步骤102,移动终端的runtime机制是指在编译期只是确定要调用的函数指针名称,在运行时才会根据函数的指针去确定真正要调用的函数实现。移动终端的runtime机制基于oc(objective-c,扩充c的面向对象编程语言)实现,具体地,移动终端中设有基于oc实现的运行库函数,用于实现移动终端的runtime机制。
50.在本技术实施例中,在应用运行时,基于runtime机制,能够替换第一日志收集函数,使得移动终端执行第二日志收集函数,其中,第二日志收集函数能够与第一日志收集函数一样起到收集日志信息的同时,还能够实时显示收集到的日志信息,例如,第一日志收集函数能够收集应用在运行时,所产生的日志信息a,但是由于第一日志函数本身为系统自带而并未实现日志如何展示的逻辑,进而其无法在收集日志信息的同时,实时显示收集到的日志信息a,然而第二日志收集函数则增加了日志实时展示的逻辑,这样一来,第二日志收集函数在收集日志信息a的同时,又能够基于日志实时展示的逻辑实时显示日志信息a,而
不需要通过在非移动终端上安装额外的日志查看软件,用于查看日志信息a,如不需要通过在mac电脑上安装额外的日志查看软件查看日志信息a。另一方面,通过第二日志收集函数也可克服在应用运行完毕才能看到日志信息这一缺点,而能够在应用运行时,即能看到日志信息。
51.需要说明的是,第二日志收集函数增加的日志实时展示的逻辑对应本技术实施例的步骤103、步骤104。
52.在本技术实施例中,可选地,日志展示面板与移动终端的应用在运行所展示的一个操作界面在同一个页面,例如,假设移动终端的以应用在运行时,生成一个操作界面a,则该操作界面a在移动终端的当前页面的上方,而日志展示面板在操作界面a的下方。
53.在本技术实施例中,作为一种可选的实施方式,在步骤101:获取移动终端的第一日志收集函数的方法编号之前,本技术实施例的方法还包括以下步骤:
54.检测用户是否触发移动终端的实时日志收集配置开关,若用户触发了实时日志收集配置开关,则执行获取移动终端的第一日志收集函数的方法编号。
55.在本可选的实施方式中,日志收集配置开关可以是日志展示面板上的一个用户响应按钮,其中,用户响应按钮的名称为“日志收集配置开关”,当用户点击该用户响应按钮时,可被移动终端检测到,具体地,如果当前用户响应按钮的状态为“关”,则在用户点击在用户响应按钮时,移动终端将用户这一点击动作识别为启动日志展示功能,而如果当前用户响应按钮的状态为“开”,则在用户点击在用户响应按钮时,移动终端将用户这一点击动作识别为关闭日志展示功能。需要说明的是,日志收集配置开关启动是指启动第二日志收集函数,即启动收集日志信息和展示日志信息。
56.在本技术实施例中,作为一种可选的实施方式,在步骤104:基于移动终端的日志展示面板展示移动终端的日志信息之后,本技术实施例的方法还包括以下步骤:
57.检测用户是否触发移动终端的实时日志信息输出暂停开关,若用户触发了实时日志信息输出暂停开,则停止在日志展示面板展示移动终端的日志信息。
58.在本可选的实施方式中,实时日志信息输出暂停开关可以是日志展示面板上的一个用户响应按钮,其中,用户响应按钮的名称为“实时日志信息输出暂停开关”,当用户点击该用户响应按钮时,可被移动终端检测到,具体地,如果当前用户响应按钮的状态为“关”,则在用户点击在用户响应按钮时,移动终端将用户这一点击动作识别为继续执行日志展示,而如果当前用户响应按钮的状态为“开”,则在用户点击在用户响应按钮时,移动终端将用户这一点击动作识别为暂定日志展示。需要说明的是,日实时日志信息输出暂停开关所起作用是指在移动终端持续收集日志信息时,单独暂时日志信息的显示。
59.在本技术实施例中,作为一种可选的实施方式,在步骤103:基于第二日志收集函数获取移动终端的日志信息之后,步骤104:基于移动终端的日志展示面板展示移动终端的日志信息之前,本技术实施例的方法还包括以下步骤:
60.获取用户输入的日志筛选信息;
61.根据日志筛选信息从移动终端的日志信息中,筛选出满足第一预设条件的日志信息,并展示满足第一预设条件的日志信息。
62.在本可选的实施方式中,由于移动终端收集的日志信息在一些场景中,并非所有内容都是用户关注的,因此需要屏蔽一些用户无需关注的日志信息,此时,用户在日志显示
面板上输入日志筛选信息,以过滤一些日志信息,而保留一部分的日志信息。
63.在本可选地的实施方中,满足第一预设条件的日志信息是指与日志筛选信息相互匹配的日志信息,例如,当日志筛选信息为“函数a执行结果”,则满足第一预设条件的日志信息是指包含“函数a执行结果”这一关键字的日志信息。
64.在本技术实施例中,作为一种可选的实施方式,日志筛选信息为日志输出级别、过滤字符串中的一种。
65.在本可选的实施方式,移动终端所产生的日志信息可以同时包括a级别的日志信息、b级别的日志信息等不同级别的日志信息,另一方面,在一些场景中,b级别的日志信息和b级别以下的日志信息并非用户关注,因此,为了便于用户快速定位到其关注的a级别的日志信息,其中,通过日志输出级别可过滤日志信息,例如,当日志输出级别为“a级别”时,则仅显示a级别的日志信息。
66.在本技术实施例中,作为一种可选的实施方式,在步骤104:基于移动终端的日志展示面板展示移动终端的日志信息之前,本技术实施例的方法还包括以下步骤:
67.接收针对日志展示面板的调整参数或针对日志展示面板的隐藏指令;
68.根据调整参数调整日志展示面板;
69.或基于日志展示面板的隐藏指令,隐藏日志展示面板。
70.在一些场景中,用户需要占用更多的屏幕展示范围用于展示应用的界面,针对这一场景,本技术实施例能够基于调整参数和隐藏指令将日志显示面板隐藏或者缩小,从而使得应用的界面更大。
71.在本技术实施例中,作为一种可选的实施方式,在步骤104:基于移动终端的日志展示面板展示移动终端的日志信息之后,本技术实施例的方法还包括以下步骤:
72.接收用户触发的日志保存导出指令;
73.基于日志保存导出指令保存移动终端的日志信息。
74.本可选的实施方式没通过基于日志保存导出指令保存移动终端的日志信息,能够便于用户后续对日志信息进行追溯和再次分析。
75.实施例二
76.请参阅图2,图2是本技术实施例公开的一种移动端日志信息处理装置的结构示意图。如图2所示,本技术实施例的装置包括以下功能模块:
77.获取模块201,用于获取移动终端的第一日志收集函数的方法编号;
78.日志收集模块202,用于基于移动终端的runtime机制,修改第一日志收集函数的方法编号的函数指针,以使得函数指针指向第二日志收集函数;
79.日志收集模块202,还用于基于第二日志收集函数获取移动终端的日志信息;
80.日志展示模块203,用于基于移动终端的日志展示面板展示移动终端的日志信息。
81.本技术实施例的装置通过执行移动端日志信息处理方法,能够在移动终端运动应用时,基于runtime机制,替换第一日志收集函数,使得移动终端执行第二日志收集函数,其中,第二日志收集函数能够与第一日志收集函数一样起到收集日志信息的同时,还能够实时显示收集到的日志信息,例如,第一日志收集函数能够收集应用在运行时,所产生的日志信息a,但是由于第一日志函数本身为系统自带而并未实现日志如何展示的逻辑,进而其无法在收集日志信息的同时,实时显示收集到的日志信息a,然而第二日志收集函数则增加了
日志实时展示的逻辑,这样一来,第二日志收集函数在收集日志信息a的同时,又能够基于日志实时展示的逻辑实时显示日志信息a,而不需要通过在非移动终端上安装额外的日志查看软件,用于查看日志信息a,如不需要通过在mac电脑上安装额外的日志查看软件查看日志信息a。另一方面,通过第二日志收集函数也可克服在应用运行完毕才能看到日志信息这一缺点,而能够在应用运行时,即能看到日志信息。
82.需要说明的是,关于本技术实施例的其他说明的,请参阅本技术实施例一的详细说明,本技术实施例对此不作赘述。
83.实施例三
84.请参阅图3,图3是本技术实施例公开的一种移动端日志信息处理设备的结构示意图。如图3所示,本技术实施例的设备包括:
85.存储有可执行程序代码的存储器301;
86.与存储器301耦合的处理器302;
87.处理器302调用存储器中存储的可执行程序代码,执行本技术实施例一的移动端日志信息处理方法。
88.本技术实施例的设备通过执行移动端日志信息处理方法,能够在移动终端运动应用时,基于runtime机制,替换第一日志收集函数,使得移动终端执行第二日志收集函数,其中,第二日志收集函数能够与第一日志收集函数一样起到收集日志信息的同时,还能够实时显示收集到的日志信息,例如,第一日志收集函数能够收集应用在运行时,所产生的日志信息a,但是由于第一日志函数本身为系统自带而并未实现日志如何展示的逻辑,进而其无法在收集日志信息的同时,实时显示收集到的日志信息a,然而第二日志收集函数则增加了日志实时展示的逻辑,这样一来,第二日志收集函数在收集日志信息a的同时,又能够基于日志实时展示的逻辑实时显示日志信息a,而不需要通过在非移动终端上安装额外的日志查看软件,用于查看日志信息a,如不需要通过在mac电脑上安装额外的日志查看软件查看日志信息a。另一方面,通过第二日志收集函数也可克服在应用运行完毕才能看到日志信息这一缺点,而能够在应用运行时,即能看到日志信息。
89.实施例四
90.本技术实施例公开一种存储介质,存储介质存储有计算机指令,计算机指令被调用时,用于执行本技术实施例一的移动端日志信息处理方法。
91.本技术实施例的存储介质通过执行移动端日志信息处理方法,能够在移动终端运动应用时,基于runtime机制,替换第一日志收集函数,使得移动终端执行第二日志收集函数,其中,第二日志收集函数能够与第一日志收集函数一样起到收集日志信息的同时,还能够实时显示收集到的日志信息,例如,第一日志收集函数能够收集应用在运行时,所产生的日志信息a,但是由于第一日志函数本身为系统自带而并未实现日志如何展示的逻辑,进而其无法在收集日志信息的同时,实时显示收集到的日志信息a,然而第二日志收集函数则增加了日志实时展示的逻辑,这样一来,第二日志收集函数在收集日志信息a的同时,又能够基于日志实时展示的逻辑实时显示日志信息a,而不需要通过在非移动终端上安装额外的日志查看软件,用于查看日志信息a,如不需要通过在mac电脑上安装额外的日志查看软件查看日志信息a。另一方面,通过第二日志收集函数也可克服在应用运行完毕才能看到日志信息这一缺点,而能够在应用运行时,即能看到日志信息。
92.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
93.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
94.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
95.需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
96.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
97.以上仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1