一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

日志抓取方法、装置、设备及存储介质与流程

2021-10-20 00:12:00 来源:中国专利 TAG:日志 抓取 装置 方法 设备


1.本发明涉及日志处理技术领域,尤其涉及一种日志抓取方法、装置、设备及存储介质。


背景技术:

2.随着安卓成为世界上占有率第一的操作系统。安卓已经拥有了超过2000万的开发者,而对于开发者来说调试的时候抓取系统成为了很重要的一环,目前的应用开发者一般是通过android studio自带的系统日志工具,而系统开发者一般是通过adb(android debug bridge,调试桥)去抓取,这两种方式虽然都能抓到系统日志,但存在两个问题,前者抓取时会耗费电脑性能,且不能抓取系统日志中的内核日志和程序时间日志,后者抓取时效率不高同时对用户有很强的专业要求。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种日志抓取方法、装置、设备及存储介质,旨在解决现有技术抓取效率不高、功能不全同时较为复杂的技术问题。
5.为实现上述目的,本发明提供了一种日志抓取方法,所述方法包括以下步骤:
6.获取用户的抓取指令;
7.根据所述抓取指令确定对应的目标调试对象;
8.基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级;
9.根据所述打印等级执行对应的目标调试指令,得到目标抓取日志。
10.可选地,所述基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级,包括:
11.若所述目标调试对象为目标调试进程,则根据所述抓取指令在第一目标选择框中选择对应的打印等级;
12.其中,所述第一目标选择框中打印等级包括详细信息日志、调试日志、一般信息日志、错误日志以及警告日志。
13.可选地,所述基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级,包括:
14.若所述目标调试对象为目标调试系统,则根据所述抓取指令在第二目标选择框中选择对应的打印等级;
15.其中,所述第二目标选择框中打印等级包括事件日志和内核日志。
16.可选地,所述根据所述抓取指令确定对应的目标调试对象,包括:
17.在目标监听器中查找设备信息为在线状态对应的终端设备;
18.根据所述抓取指令在所述在线状态对应的终端设备中确定对应的目标终端设备
及所述目标终端设备中对应的目标调试对象。
19.可选地,所述在目标监听器中查找设备信息为在线状态对应的终端设备之前,还包括:
20.获取终端设备的连接指令;
21.根据所述连接指令获取所述终端设备对应的设备信息;
22.创建目标监听器;
23.将所述设备信息存储至所述目标监听器中。
24.可选地,所述根据所述打印等级执行对应的目标调试指令,得到目标抓取日志之后,还包括:
25.将所述目标抓取日志作为存储日志存储至预设文本框中;
26.获取用户的操作指令;
27.根据所述操作指令对所述存储日志进行处理。
28.可选地,所述根据所述操作指令对所述存储日志进行处理,包括:
29.若所述操作指令为查询指令,则根据所述查询指令通过预设匹配模型在所述存储日志中查找对应的目标查询日志,并将所述目标查询日志通过预设显示方式进行显示;
30.若所述操作指令为清除指令,则根据所述清除指令将所述存储日志从所述预设文本框对应的缓存区和显示区清除;
31.若所述操作指令为保存指令,则根据所述保存指令将所述存储日志保存至目标存储位置。
32.此外,为实现上述目的,本发明还提出一种日志抓取装置,所述日志抓取装置包括:
33.获取模块:用于获取用户的抓取指令;
34.确定模块:用于根据所述抓取指令确定对应的目标调试对象;
35.选择模块:用于基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级;
36.执行模块:根据所述打印等级执行对应的目标调试指令,得到目标抓取日志。
37.此外,为实现上述目的,本发明还提出一种日志抓取设备,所述日志抓取设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的日志抓取程序,所述日志抓取程序配置为实现如上文所述的日志抓取方法的步骤。
38.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有日志抓取程序,所述日志抓取程序被处理器执行时实现如上文所述的日志抓取方法的步骤
39.本发明通过获取用户的抓取指令;根据所述抓取指令确定对应的目标调试对象;基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级;根据所述打印等级执行对应的目标调试指令,得到目标抓取日志。通过上述方式,根据用户指令确定不同的调试对象,在确定目标调试对象后根据抓取指令选择对应的打印等级,抓取对应的目标日志,采用图形化界面,将调试指令进行封装,提高了抓取的效率,同时还能打印不同级别的日志,并简化了抓取的过程,即使对调试指令不熟悉也能抓取日志,大大提高了用户的工作效率。
附图说明
40.图1是本发明实施例方案涉及的硬件运行环境的日志抓取设备的结构示意图;
41.图2为本发明日志抓取方法第一实施例的流程示意图;
42.图3为本发明日志抓取方法第二实施例的流程示意图;
43.图4为本发明日志抓取方法一实施例的整体流程示意图
44.图5为本发明日志抓取装置第一实施例的结构框图。
45.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
46.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
47.参照图1,图1为本发明实施例方案涉及的硬件运行环境的日志抓取设备结构示意图。
48.如图1所示,该日志抓取设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless

fidelity,wi

fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non

volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
49.本领域技术人员可以理解,图1中示出的结构并不构成对日志抓取设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
50.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及日志抓取程序。
51.在图1所示的日志抓取设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明日志抓取设备中的处理器1001、存储器1005可以设置在日志抓取设备中,所述日志抓取设备通过处理器1001调用存储器1005中存储的日志抓取程序,并执行本发明实施例提供的日志抓取方法。
52.本发明实施例提供了一种日志抓取方法,参照图2,图2为本发明一种日志抓取方法第一实施例的流程示意图。
53.本实施例中,所述日志抓取方法包括以下步骤:
54.步骤s10:获取用户的抓取指令。
55.需要说明的是,本实施例的执行主体为基于java开发的利用adb(android debug bridge,调试桥)指令抓取日志的软件,该软件是主要抓取安卓设备的系统日志(log),充分利用adb指令的强大功能,将所有常见指令都可视化,专门抓取log的软件,且该软件不受平台的约束,能够运行在所有安装了jre环境的电脑中。
56.需要说明的是,所述用户的抓取指令包括用户的目标调试对象和目标抓取日志。在抓取log之前需要获取用户的抓取指令,才能够确定对应的目标。
57.步骤s20:根据所述抓取指令确定对应的目标调试对象。
58.需要说明的是,所述目标调试对象包括目标调试进程和目标调试系统。
59.可以理解的是,目标调试对象为调试进程时,系统会列出当前正在运行的进程,然后根据用户的需求在当前正在运行的进程中选定对应的目标调试进程。
60.在具体实现中,为了提高抓取的效率,在确定目标调试对象之前先过滤得到可以正常调试的对象,进一步地,所述根据所述抓取指令确定对应的目标调试对象,包括:在目标监听器中查找设备信息为在线状态对应的终端设备;根据所述抓取指令在所述在线状态对应的终端设备中确定对应的目标终端设备及所述目标终端设备中对应的目标调试对象。
61.需要说明的是,所述目标监听器指的是在软件启动时注册的监听器devicelistener,并将之作为目标监听器。
62.可以理解的是,所述设备信息指的是插入电脑的终端设备所对应的设备信息,设备信息包括但不限于终端设备的名称、id以及终端设备的在线状态。
63.应当理解的是,当终端设备插入后,确定当前在线状态对应的终端设备,在在线的终端设备中根据用户的抓取指令确定对应的目标调试终端,并在该目标调试终端中选定目标调试对象。
64.在具体实现中,为了能够准确的识别当前终端设备是否在线,进一步地,所述在目标监听器中查找设备信息为在线状态对应的终端设备之前,还包括:获取终端设备的连接指令;根据所述连接指令获取所述终端设备对应的设备信息;创建目标监听器;将所述设备信息存储至所述目标监听器中。
65.需要说明的是,当有终端设备请求插入电脑时,获取该终端设备的连接指令,根据连接指令获取终端设备的设备信息,在用户需要抓取日志时,启动抓取软件,此时软件启动后则创建即注册一个监听器devicelistener作为目标监听器,并把终端设备的设备信息保存在目标监听器list<deviceinfo(设备信息)>中,该deviceinfo中包括但不限于终端设备的名称、id以及终端设备的在线状态。
66.在具体实现中,在获取到终端设备的连接指令之后,还需对终端设备所带有的终端设备信息进行识别过滤,判断当前设备信息中是否含有危险信息,若含有危险信息,则拒绝该设备的连接请求。
67.步骤s30:基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级。
68.需要说明的是,所述目标系统选择框中针对不同的目标调试对象有不同的打印等级,在得到用户的抓取指令后,根据用户的抓取指令在目标系统选择框中选择用户所需的打印等级。
69.步骤s40:根据所述打印等级执行对应的目标调试指令,得到目标抓取日志。
70.需要说明的是,所述不同的打印等级对应不同的调试指令,在根据用户的抓取指令得到用户的打印等级后,软件系统会自动确定对应的目标调试指令并执行,以得到对应的目标抓取日志。
71.在具体实现中,为了方便用户的日志的分析查找,进一步地,所述根据所述打印等级执行对应的目标调试指令,得到目标抓取日志之后,还包括:将所述目标抓取日志作为存储日志存储至预设文本框中;获取用户的操作指令;根据所述操作指令对所述存储日志进行处理。
72.需要说明的是,预设文本框用于存储抓取的日志,用户的操作指令包括查找关键字日志、清除日志以及保存日志。
73.可以理解的是,在得到抓取日志后,用户会到文本查看栏即预设文本框中查找对应的日志,并对日志进行一定的操作,所以需要获取用户的操作指令,根据操作指令对预设文本框中的存储日志进行相对应的操作处理,例如查找关键字日志、清除日志和保存日志。
74.在具体实现中,为了更为准确的执行用户的操作指令,进一步地,所述根据所述操作指令对所述存储日志进行处理,包括:若所述操作指令为查询指令,则根据所述查询指令通过预设匹配模型在所述存储日志中查找对应的目标查询日志,并将所述目标查询日志通过预设显示方式进行显示;若所述操作指令为清除指令,则根据所述清除指令将所述存储日志从所述预设文本框对应的缓存区和显示区清除;若所述操作指令为保存指令,则根据所述保存指令将所述存储日志保存至目标存储位置。
75.需要说明的是,在用户的操作指令为查询指令时,需根据用户的查询指令在预设文本框的过滤栏输入关键字,通过预设匹配模型在存储日志中找到对应的关键字日志作为目标查询日志,并将关键字通过预设显示方式进行显示,预设显示方式可为该关键字被高亮显示,或该关键字被黑框标识出来进行显示,所述预设匹配模型是通过在过滤栏输入想要查询的文字或数字,通过kmp算法匹配训练得到的。
76.可以理解的是,在用户的操作指令为清除指令时,需根据用户的清除指令将存储日志从预设文本框的缓存区全部清除,同时执行logcat

c命令清除显示区设备的日志。
77.在具体实现中,在用户的操作指令为保存指令时,需根据用户的保存指令通过java的io流将预设文本框缓存区的所有日志保存到指定目录即目标存储位置中。
78.本实施例通过获取用户的抓取指令;根据所述抓取指令确定对应的目标调试对象;基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级;根据所述打印等级执行对应的目标调试指令,得到目标抓取日志。通过上述方式,根据用户指令确定不同的调试对象,在确定目标调试对象后根据抓取指令选择对应的打印等级,抓取对应的目标日志,采用图形化界面,将调试指令进行封装,提高了抓取的效率,同时还能打印不同级别的日志,并简化了抓取的过程,即使对调试指令不熟悉也能抓取日志,大大提高了用户的工作效率。
79.参考图3,图3为本发明一种日志抓取方法第二实施例的流程示意图。
80.基于上述第一实施例,本实施例日志抓取方法中所述步骤s30包括:
81.步骤s301:若所述目标调试对象为目标调试进程,则根据所述抓取指令在第一目标选择框中选择对应的打印等级。
82.需要说明的是,若用户的抓取指令为调试进程时,需在选定用户的目标调试进程之前,通过ps

e过滤出系统中正常运行的进程,然后在正常运行的进程中选定用户的目标调试进程。
83.可以理解的是,在选定目标调试进程后,会记录下目标调试进程的进程识别号即pid,所述第一目标选择框会有不同打印等级的选项,然后在第一目标选择框中选择对应的打印等级,作为用户需要的第一目标选择框中选定的目标打印等级。
84.步骤s302:其中,所述第一目标选择框中打印等级包括详细信息日志、调试日志、一般信息日志、错误日志以及警告日志。
85.需要说明的是,所述第一目标选择框打印等级中具有以下几个选项:详细信息日志即verbose,调试日志即debug,一般信息日志即info,错误日志即为error,警告日志即warn。
86.在具体实现中,当用户选择的打印等级为verbose,系统执行log cat

v time|grep pid;选择debug,系统执行logcat

v time*:d|grep pid;选择info,执行logcat

v time*:i|grep pid;选择error,执行logcat

v time*:e|grep pid;选择warn,执行logcat

v time*:w|grep pid。
87.在具体实现中,为了能够得到更为全面的日志,包括内核日志和事件日志,进一步地,所述基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级,包括:若所述目标调试对象为目标调试系统,则根据所述抓取指令在第二目标选择框中选择对应的打印等级;其中,所述第二目标选择框中打印等级包括事件日志和内核日志。
88.需要说明的是,若用户的抓取指令为调试系统时,“系统日志”的第二目标选择框会提供两个打印等级的选项,然后根据用户的抓取指令在第二目标选择框中选择对应的答应等级,包括内核日志即kernellog、事件日志即eventlog。
89.可以理解的是,当用户选择的打印等级为kernellog,执行命令cat/dev/kmsg

n>kernel.log&&logcat

v time>app.log&。当用户选择的打印等级为eventlog时,执行命令adb logcat

v threadtime

t 4096

b events,同时用户可以通过次命令查到活动的所有生命周期信息。
90.在具体实现中,如图4所示,当软件检测到电脑有设备插入时,在目标监听器中保存该终端设备对应的相关设备信息,包括终端设备的devicename,deviceid以及devicestatus,当用户的目标调试对象选择为调试某个进程时,系统会列出当前正在正常运行的进程,然后用户在正在正常运行的进程中选定目标调试进程,选中进程后在第一目标选择框中可以选择不同的打印等级(verbose、debug、info、error以及warn),当用户的目标调试对象为调试系统时,在第二目标选择框中选择不同的打印等级eventlog或者kernellog,所有的日志会输出到预设文本框的缓存区,同时在预设文本框中支持关键词的定位、保存及清除。
91.本实施例通过若所述目标调试对象为目标调试进程,则根据所述抓取指令在第一目标选择框中选择对应的打印等级;其中,所述第一目标选择框中打印等级包括详细信息日志、调试日志、一般信息日志、错误日志以及警告日志。根据抓取指令有选择性的抓取对应的目标日志,同时将adb指令封装,使抓取过程更为简便且全面,提高了工作效率。
92.此外,参照图5,本发明实施例还提出一种日志抓取装置,所述日志抓取装置包括:
93.获取模块10,用于获取用户的抓取指令。
94.确定模块20,用于根据所述抓取指令确定对应的目标调试对象。
95.选择模块30,用于基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级。
96.执行模块40,根据所述打印等级执行对应的目标调试指令,得到目标抓取日志。
97.本实施例通过获取用户的抓取指令;根据所述抓取指令确定对应的目标调试对象;基于所述抓取指令在目标调试对象中的目标系统选择框中选择对应的打印等级;根据所述打印等级执行对应的目标调试指令,得到目标抓取日志。通过上述方式,根据用户指令
确定不同的调试对象,在确定目标调试对象后根据抓取指令选择对应的打印等级,抓取对应的目标日志,采用图形化界面,将调试指令进行封装,提高了抓取的效率,同时还能打印不同级别的日志,并简化了抓取的过程,即使对调试指令不熟悉也能抓取日志,大大提高了用户的工作效率。
98.在一实施例中,所述选择模块30,还用于若所述目标调试对象为目标调试进程,则根据所述抓取指令在第一目标选择框中选择对应的打印等级;
99.其中,所述第一目标选择框中打印等级包括详细信息日志、调试日志、一般信息日志、错误日志以及警告日志。
100.在一实施例中,所述选择模块30,还用于若所述目标调试对象为目标调试系统,则根据所述抓取指令在第二目标选择框中选择对应的打印等级;
101.其中,所述第二目标选择框中打印等级包括事件日志和内核日志。
102.在一实施例中,所述确定模块20,还用于在目标监听器中查找设备信息为在线状态对应的终端设备;
103.根据所述抓取指令在所述在线状态对应的终端设备中确定对应的目标终端设备及所述目标终端设备中对应的目标调试对象。
104.在一实施例中,所述确定模块20,还用于获取终端设备的连接指令;
105.根据所述连接指令获取所述终端设备对应的设备信息;
106.创建目标监听器;
107.将所述设备信息存储至所述目标监听器中。
108.在一实施例中,所述执行模块40,还用于将所述目标抓取日志作为存储日志存储至预设文本框中;
109.获取用户的操作指令;
110.根据所述操作指令对所述存储日志进行处理。
111.在一实施例中,所述执行模块40,还用于若所述操作指令为查询指令,则根据所述查询指令通过预设匹配模型在所述存储日志中查找对应的目标查询日志,并将所述目标查询日志通过预设显示方式进行显示;
112.若所述操作指令为清除指令,则根据所述清除指令将所述存储日志从所述预设文本框对应的缓存区和显示区清除;
113.若所述操作指令为保存指令,则根据所述保存指令将所述存储日志保存至目标存储位置。
114.由于本装置采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
115.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有日志抓取程序,所述日志抓取程序被处理器执行时实现如上文所述的日志抓取方法的步骤。
116.由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
117.需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
118.另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的日志抓取方法,此处不再赘述。
119.此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
120.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
121.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
122.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜