CN111078523B - 日志获取方法、装置、存储介质及电子设备 - Google Patents
日志获取方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111078523B CN111078523B CN201911354254.2A CN201911354254A CN111078523B CN 111078523 B CN111078523 B CN 111078523B CN 201911354254 A CN201911354254 A CN 201911354254A CN 111078523 B CN111078523 B CN 111078523B
- Authority
- CN
- China
- Prior art keywords
- log
- file
- log information
- pipeline
- thread
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000005540 biological transmission Effects 0.000 claims abstract description 95
- 230000032258 transport Effects 0.000 claims 3
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种日志获取方法、装置、存储介质及电子设备,该方法应用于电子设备中,包括:获取预设日志抓取工具所对应的主线程;创建主线程的子线程,并创建传输日志信息的传输管道;利用子线程生成日志信息,并将日志信息写入传输管道,其中,日志信息是预设日志抓取工具抓取的收发数据对应的日志信息;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件。本申请实施例利用传输管道缓存所生成的日志信息,且通过分线程的方式,一个线程写入所生成的日志信息,一个线程读取所生成的日志信息,使得生成的日志信息不会丢失,避免了日志信息丢失的风险,以提高利用日志信息定位和解决问题的效率。
Description
技术领域
本申请涉及通讯技术领域,尤其涉及一种日志获取方法、装置、存储介质及电子设备。
背景技术
QXDM(The QUALCOMMExtensible Diagnostic Monitor)工具是高通发布的可以对电子设备例如手机终端等,收发数据进行有效跟踪的工具。QXDM工具可以实时抓取空中接口信令以及软件运行中的相关调试信息,并保存为一个日志文件,以通过日志文件中的日志信息定位和解决问题。
目前电子设备的QXDM工具,在获取日志信息的过程中,日志信息都存在一定的丢失风险,对定位和解决问题造成一定的不利影响。
发明内容
本申请实施例提供一种日志获取方法、装置、存储介质及电子设备,能避免预设日志抓取工具在抓取日志信息时存在的丢失风险。
本申请实施例提供了一种日志获取方法,应用于电子设备,包括:
获取预设日志抓取工具所对应的主线程;
创建所述主线程的子线程,并初始化传输日志信息的传输管道;
利用所述子线程生成所述电子设备收发数据对应的日志信息,并将所述日志信息写入所述传输管道;
利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至日志文件。
本申请实施例还提供了一种日志获取装置,应用于电子设备,包括:
线程获取单元,用于获取预设日志抓取工具所对应的主线程;
创建单元,用于创建所述主线程的子线程,并创建传输日志信息的传输管道;
管道写入单元,用于利用所述子线程生成日志信息,并将所述日志信息写入所述传输管道,其中,所述日志信息是预设日志抓取工具抓取的收发数据对应的日志信息;
文件写入单元,用于利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至日志文件。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述任一项日志获取方法。
本申请实施例还提供了一种电子设备,包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于上述任一项所述的日志获取方法中的步骤。
本申请提供的日志获取方法、装置、存储介质及电子设备,通过获取预设日志抓取工具所对应的主线程;创建主线程的子线程,并初始化传输日志信息的传输管道;利用子线程生成电子设备收发数据对应的日志信息,并将日志信息写入传输管道;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件。本申请实施例通过预设日志抓取工具的子线程将生成的日志信息写入传输管道,并利用预设日志抓取工具的主线程读取传输管道的日志信息,以写入日志文件。如此,利用传输管道缓存所生成的日志信息,且通过分线程的方式,一个线程写入所生成的日志信息,一个线程读取所生成的日志信息,使得生成的日志信息不会丢失,避免了日志信息丢失的风险,以提高利用日志信息定位和解决问题的效率。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的日志获取方法的流程示意图。
图2为本申请实施例提供的传输管道通信的示例图。
图3为本申请实施例提供的日志获取方法的子流程示意图。
图4为本申请实施例提供的日志获取方法的子流程示意图。
图5为本申请实施例提供的日志获取装置的结构示意图。
图6为本申请实施例提供的电子设备的结构示意图。
图7为本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种日志获取方法、装置、存储介质及电子设备。本申请实施例提供的任一种日志获取装置,可以集成在电子设备中,该电子设备可以包括移动手机、PAD、PC端等设备。
请参阅图1,图1是本申请实施例提供的日志获取方法的流程示意图,其应用于电子设备中,该日志获取方法包括步骤101~104,具体可以如下:
101,获取预设日志抓取工具所对应的主线程。
其中,预设日志抓取工具可以是QXDM工具,也可以是类似QXDM工具的其他日志抓取工具。
具体地,步骤101,包括:当接收到预设日志抓取工具的运行指令时,获取预设日志抓取工具所对应的主线程。例如,打开预设日志抓取工具,在预设日志抓取工具的界面上,若检测到触发了运行控件,则确定接收到预设日志抓取工具的运行指令。可以理解地,可在运行该预设日志抓取工具来抓取日志时,执行本申请实施例中提供的方法。
其中,运行控件可以以按钮的形式存在,也可以以图标的形式存在,还可以以标签的形式存在,还可以以文字的形式存在,或者是上述例举的多种形式的结合,例如,文字和按钮的结合、图标和文字和按钮的结合等。
运行控件可以通过多种方式触发。例如,当检测到用户对运行控件的点击/触摸操作时,触发通讯录运行控件;也可以通过语音的方式触发,例如,接收用户的语音信息,解析该语音信息,若语音信息中包括触发运行控件的内容,则触发运行控件,例如语音信息为:开始运行等,则触发运行控件;还可以通过其他的方式触发运行控件。
可以理解地,打开预设日志抓取工具,该预设日志抓取工具会生成对应的主线程。获取该主线程。在计算机程序中,该主线程可以是一个线程对象。
102,创建主线程的子线程,并创建传输日志信息的传输管道。
即为主线程创建一个子线程。如此,该预设日志抓取工具至少存在一个主线程和一个子线程。
传输管道即为传输日志信息的管道。其中,管道是进程间的通信机制,该通信机制的思想是,在内存中创建一个共享文件,从而使通信双方利用这个共享文件来传递信息。由于这种方式具有单向传递数据的特点,所以这个作为传递消息的共享文件就叫做“管道”。管道的一端连接一个进程的输出,这个进程会向管道中放入信息;管道的另一端连接一个进程的输入,这个进程取出被放入管道的信息。管道被设计成为环形的数据结构,以便可以被循环利用。当两个进程都终结的时候,管道也自动消失。
其中,创建传输日志信息的传输管道,也可以理解为初始化传输日志信息的传输管道。其中,创建传输日志信息的传输管道,包括:调用预设管道创建接口,创建传输日志信息的传输管道;生成传输管道的管道描述符。其中,调用预设管道创建接口包括:引入管道创建文件,调用管道创建文件中的管道创建接口,将该管道创建接口作为预设管道创建接口。引入管道创建文件,可以通过include管道创建文件的方式引入,管道创建文件是liunx提供的。管道创建接口指的是管道创建文件中的管道创建函数。管道描述符可以理解为所创建的管道的标识,通过该管道描述符可以识别是哪个管道,即管道描述符提供了相应的地址,以使进程或者线程到相应的地址上去读数据或者写数据。其中,所创建的传输管道的管道描述符有两个,一个是读数据的管道描述符,一个是写数据的管道描述符。可以分别用fildes[0]和fildes[1]来表示。进程或者线程通过fildes[0]只能进行读操作,进程或者线程通过fildes[1]只能进行写操作。
如图2所示,为本申请实施例提供的传输管道通信的示意图。子线程会向传输管道中放入日志信息,即子线程将日志信息写入至传输管道;主线程从管道中取出日志信息,即主线程读取管道中的日志信息。子线程所对应的是写数据的管道描述符,用fildes[1]来表示;主线程所对应的是读数据的管道描述符,用fildes[0]来表示。
103,利用子线程生成日志信息,并将日志信息写入传输管道,其中,日志信息是预设日志抓取工具抓取的收发数据对应的日志信息。
收发数据指的是电子设备的收发数据,包括空中接口信令以及软件运行中的相关调试信息等。预设日志抓取工具会抓取电子设备的收发数据,并生成收发数据的日志信息。
具体地,利用子线程生成日志信息,包括:利用子线程执行日志抓取指令,以抓取电子设备的收发数据,并生成收发数据对应的日志信息。生成收发数据对应的日志信息,包括:打印收发数据以得到日志信息。其中,日志抓取指令可以为:diag_mdlog-f。可以理解地,子线程通过执行diag_mdlog这个可执行程序来抓取日志信息。需要注意的是,子线程还可以通过其他方式来抓取日志信息。
其中,还可以进一步设置子线程生成的日志信息的级别。例如,当通过执行diag_mdlog可执行程序来抓取日志信息时,设置子线程生成的日志信息的级别,可通过在Diag.cfg文件中来进行设置,并获取所设置的日志信息的级别。可通过Diag.cfg文件来配置日志信息的过滤项,选择需要的日志信息的级别。其中,Diag.cfg文件可以用QXDM工具生成;可以通过在过滤界面上进行配置,以生成Diag.cfg。
对应的,利用子线程生成日志信息,包括:利用子线程执行日志抓取指令,获取所设置的过滤项,以根据过滤项来抓取电子设备的收发数据,并生成收发数据对应的日志信息。
具体地,利用子线程生成日志信息,包括:获取所设置的过滤项,以根据所设置的过滤项来抓取电子设备的收发数据,并生成收发数据对应的日志信息。
其中,将日志信息写入传输管道,包括:获取传输管道的管道描述符;将日志信息写入至管道描述符对应的传输管道。具体地,获取管道描述符中的写数据的管道描述符;通过写数据的管道描述符将日志信息写入传输管道。通过传输管道来缓存所生成的日志信息。
需要注意的是,本申请实施例中的传输管道,不仅是为了进程或者线程之间的通信,本申请实施例中的传输管道,还可以缓存所生成的日志信息。由于可以通过传输管道缓存所生成的日志信息,使得生成的日志信息不会丢失,可避免日志信息丢失的风险,提高利用日志信息定位和解决问题的效率。
104,利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件。
其中,日志文件通过主线程来创建。在电子设备的某一目录下或者在电子设备的内存中创建日志文件。可以理解地,将日志文件保存在电子设备中的某一个目录下,例如保存在电子设备SD卡的某一个目录下,或者将日志文件保存在电子设备的内存中。优选地,将日志文件保存在电子设备中的某一个目录下。如此,不必占用电子设备大量的内存。
具体地,步骤104包括:利用主线程创建日志文件;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中。可以理解地,日志文件的文件名中包括日志文件的创建时间。其中,日志文件是可以存在文本的文件,例如,word格式的文件,txt格式的文件等。
其中,利用主线程读取传输管道的日志信息,包括:获取管道描述符,利用主线程从管道描述符所对应的传输管道中读取日志信息。具体地,获取读数据的管道描述符,根据读数据的管道描述符,利用主线程从对应的传输管道中读取日志信息。
上述方法实施例通过创建预设日志抓取工具的子线程和创建传输日志信息的传输管道,并利用传输管道缓存所生成的日志信息,且通过分线程的方式,一个线程写入所生成的日志信息,一个线程读取所生成的日志信息,使得生成的日志信息不会丢失,避免了日志信息丢失的风险,以提高利用日志信息定位和解决问题的效率。
进一步地,步骤104包括利用主线程创建日志文件;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中;检测日志文件的文件大小是否超过预设阈值,若是,则执行利用主线程创建日志文件的步骤。
该实施例中,主线程会创建多个日志文件,并将读取的传输管道的日志信息写入多个日志文件中。现有技术中的一次抓取过程中只能生成单个日志文件,单个日志文件中保存了大量的日志信息,不利于用户定位关键点,如异常点等,不利于用户定位和解决问题。而本申请实施例中,主线程会创建多个日志文件,将日志信息写入多个日志文件中,可从多个日志文件中,确定关键点可能出现的日志文件,并从关键点可能出现的日志文件中进一步精确定位关键点。如此,可使得用户利用日志信息更好的定位和解决问题,提高定位和解决问题的效率。通过传输管道缓存所生成的日志信息,在创建日志文件、切换存储日志信息的日志文件时,不会有日志信息丢失,避免日志信息丢失的风险,提高利用日志信息定位和解决问题的效率。
进一步地,如图3所示,步骤104包括以下步骤201~205。
201,利用主线程创建日志文件,并获取创建日志文件的创建时间。
其中,获取创建日志文件时电子设备的时间,将所获取的时间作为创建日志文件的创建时间。进一步地,获取了创建日志文件的创建时间后,可根据日志文件的创建时间生成日志文件的文件名;可以理解地,日志文件的文件名中包括了日志文件的创建时间。
202,利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中。
其中,利用主线程读取传输管道的日志信息,可参见上文中的对应描述。将所获取的日志信息写入至日志文件中。
203,检测日志文件的文件大小是否超过预设阈值。
若日志文件的文件大小超过预设阈值,执行步骤204;若日志文件的文件大小未超过预设阈值,则执行步骤202,以利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中。其中,预设阈值可以预先设置,例如,预设阈值可以设置为20M、50M等。
204,检测所有日志文件的总数量是否超过预设数量。
若所有日志文件的总数量超过预设数量,则执行步骤205;若所有日志文件的总数量未超过预设数量,则执行步骤201。
可以理解地,主线程可以创建多个日志文件。若当前日志文件的总数量未超过预设数量,则可接着创建日志文件,以利用主线程读取传输管道的日志信息至所创建的日志文件。其中,预设数量可以可以预先设置,例如设置为10、15等大于1的自然数;或者预设数量根据电子设备的内存大小进行设置,若电子设备的内存大,则预设数量的值设置为较大的值,若电子设备的内存小,则预设数量的值设置为较小的值,可以理解地,电子设备的内存大时设置的预设数量的值大于电子设备内存小时设置的预设数量的值。
205,删除创建时间最早的日志文件。
可获取所有日志文件的创建时间,查找创建时间最早的日志文件,并删除创建时间最早的日志文件。若日志文件的文件名是根据日志文件的创建时间生成的,则获取日志文件的文件名,获取文件名中的创建时间,并删除创建时间最早的日志文件。可以理解地,在debug的过程中,若已确定问题所在的日志文件之后,则会停止抓取日志文件,因此创建时间最早的日志文件中记录相关问题的概率较低,可以将创建时间最早的日志文件进行删除。
该实施例中,主线程会创建多个日志文件,并将读取的传输管道的日志信息写入多个日志文件中。解决了现有技术中的一次抓取过程中只能生成单个日志文件,单个日志文件中保存了大量的日志信息,不利于用户定位关键点,不利于用户定位和解决问题,可使得用户利用日志信息更好的定位和解决问题,提高定位和解决问题的效率。而且,可以控制单个日志文件的文件大小,和所有日志文件的总数量。通过删除创建时间最早的日志文件,控制所有日志文件的总数量和单个日志文件的文件大小,可以节省电子设备的存储空间,可解决现有技术中的一次抓取过程中单个日志文件保存了大量的日志信息,存在电子设备存储空间填满的风险,造成电子设备负载过大,影响电子设备使用的问题。通过传输管道缓存所生成的日志信息,在创建日志文件、切换存储日志信息的日志文件时,不会有日志信息丢失,避免日志信息丢失的风险,提高利用日志信息定位和解决问题的效率。
进一步地,如图4所示,步骤104包括以下步骤301~305。
301,利用主线程创建日志文件,并获取创建日志文件的创建时间。
其中,获取创建日志文件时电子设备的时间,将所获取的时间作为创建日志文件的创建时间。进一步地,获取了创建日志文件的创建时间后,可根据日志文件的创建时间生成日志文件的文件名;可以理解地,日志文件的文件名中包括了日志文件的创建时间。
302,利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中。
其中,利用主线程读取传输管道的日志信息,可参见上文中的对应描述。将所获取的日志信息写入至日志文件中。
303,检测日志文件的文件大小是否超过预设阈值。
若日志文件的文件大小超过预设阈值,执行步骤304;若日志文件的文件大小未超过预设阈值,则执行步骤302,以利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中。
304,检测所有日志文件所占存储量是否超过预设存储量。
若所有日志文件所占存储量超过预设存储量,则执行步骤305;若所有日志文件所占存储量未超过预设存储量,则执行步骤301。其中,预设存储量可以预先设置,例如,预设存储量设置为1G、500M等;预设存储量也可以根据电子设备的内存大小进行设置,若电子设备的内存大,则预设存储量的值设置为较大的值,若电子设备的内存小,则预设存储量的值设置为较小的值,可以理解地,电子设备内存大所对应的预设存储量的值大于电子设备内存小所对应的预设存储量的值。
可以理解地,主线程可以创建多个日志文件。若当前所有日志文件所占存储量未超过预设存储量,则可接着创建日志文件,以利用主线程读取传输管道的日志信息至所创建的日志文件。
305,删除创建时间最早的日志文件。
可获取所有日志文件的创建时间,查找创建时间最早的日志文件,并删除创建时间最早的日志文件。若日志文件的文件名是根据日志文件的创建时间生成的,则获取日志文件的文件名,获取文件名中的创建时间,并删除创建时间最早的日志文件。
该实施例中,主线程会创建多个日志文件,并将读取的传输管道的日志信息写入多个日志文件中。解决了现有技术中的一次抓取过程中只能生成单个日志文件,单个日志文件中保存了大量的日志信息,不利于用户定位关键点,不利于用户定位和解决问题,可使得用户利用日志信息更好的定位和解决问题,提高定位和解决问题的效率。而且,可以控制单个日志文件的文件大小,和所占存储量。通过删除创建时间最早的日志文件,控制所有日志文件所占存储量和单个日志文件的文件大小,可以节省电子设备的存储空间,可解决现有技术中的一次抓取过程中单个日志文件保存了大量的日志信息,存在电子设备存储空间填满的风险,造成电子设备负载过大,影响电子设备使用的问题。通过传输管道缓存所生成的日志信息,在创建日志文件、切换存储日志信息的日志文件时,不会有日志信息丢失,避免日志信息丢失的风险,提高利用日志信息定位和解决问题的效率。
在一些实施例中,若不将日志文件的创建时间作为日志文件的文件名,则获取创建日志文件的创建时间可在创建日志文件的步骤与删除创建时间最早的日志文件的步骤中执行。
根据上述实施例所描述的方法,本实施例将从日志获取装置的角度进一步进行描述,该日志获取装置具体可以作为独立的实体来实现,也可以集成在电子设备,该电子设备可以包括移动手机、PAD、PC端等设备。
请参阅图5,图5具体描述了本申请实施例提供的日志获取装置,应用于电子设备中,该日志获取装置可以包括:线程获取单元401、创建单元402、管道写入单元403以及文件写入单元404。其中:
线程获取单元401,用于获取预设日志抓取工具所对应的主线程。
线程获取单元401,具体用于当接收到预设日志抓取工具的运行指令时,获取预设日志抓取工具所对应的主线程。
创建单元402,用于创建主线程的子线程,并创建传输日志信息的传输管道。
其中,创建传输日志信息的传输管道,包括:调用预设管道创建接口,创建传输日志信息的传输管道;生成传输管道的管道描述符。其中,调用预设管道创建接口包括:引入管道创建文件,调用管道创建文件中的管道创建接口,将该管道创建接口作为预设管道创建接口。其中,所创建的传输管道的管道描述符有两个,一个是读数据的管道描述符,一个是写数据的管道描述符。可以分别用fildes[0]和fildes[1]来表示。
管道写入单元403,用于利用子线程生成日志信息,并将日志信息写入传输管道,其中,日志信息是预设日志抓取工具抓取的收发数据对应的日志信息。
利用子线程生成日志信息,包括:利用子线程执行日志抓取指令,以抓取电子设备的收发数据,并生成收发数据对应的日志信息。生成收发数据对应的日志信息,包括:打印收发数据以得到日志信息。
其中,还可以进一步设置子线程生成的日志信息的级别。对应的,利用子线程生成日志信息,包括:利用子线程执行日志抓取指令,获取所设置的过滤项,以根据过滤项来抓取电子设备的收发数据,并生成收发数据对应的日志信息。
将日志信息写入传输管道,包括:获取传输管道的管道描述符;将日志信息写入至管道描述符对应的传输管道。具体地,获取管道描述符中的写数据的管道描述符;通过写数据的管道描述符将日志信息写入传输管道。
文件写入单元404,用于利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件。
利用主线程读取传输管道的日志信息,包括:获取管道描述符,利用主线程从管道描述符所对应的传输管道中读取日志信息。具体地,获取读数据的管道描述符,根据读数据的管道描述符,利用主线程从对应的传输管道中读取日志信息。
进一步地,文件写入单元404,具体用于利用主线程创建日志文件;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中。
进一步地,文件写入单元404,具体用于利用主线程创建日志文件;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中;检测日志文件的文件大小是否超过预设阈值;若是,则执行利用主线程创建日志文件的步骤。
进一步地,文件写入单元404,具体用于利用主线程创建日志文件,并获取创建日志文件的创建时间;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中;检测日志文件的文件大小是否超过预设阈值;若日志文件的文件大小超过预设阈值,检测所有日志文件的总数量是否超过预设数量;若所有日志文件的总数量超过预设数量,则删除创建时间最早的日志文件;若所有日志文件的总数量未超过预设数量,则执行利用主线程创建日志文件,并获取创建日志文件的创建时间的步骤。
进一步地,文件写入单元404,具体用于利用主线程创建日志文件,并获取创建日志文件的创建时间;利用主线程读取传输管道的日志信息,并将日志信息写入至日志文件中;检测日志文件的文件大小是否超过预设阈值;若日志文件的文件大小超过预设阈值,检测所有日志文件所占存储量是否超过预设存储量;若所有日志文件所占存储量超过预设存储量,删除创建时间最早的日志文件;若若所有日志文件所占存储量未超过预设存储量,则执行利用主线程创建日志文件,并获取创建日志文件的创建时间的步骤。
具体实施时,以上各个模块和/或单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块和/或单元的具体实施可参见前面的方法实施例,具体可以达到的有益效果也请参看前面的方法实施例中的有益效果,在此不再赘述。
另外,本申请实施例还提供一种电子设备,该电子设备可以是移动手机、PAD、PC端等设备。如图6所示,电子设备500包括处理器501、存储器502。其中,处理器501与存储器502电性连接。
处理器501是电子设备500的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,电子设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:
获取预设日志抓取工具所对应的主线程;
创建所述主线程的子线程,并创建传输日志信息的传输管道;
利用所述子线程生成日志信息,并将所述日志信息写入所述传输管道,其中,所述日志信息是预设日志抓取工具抓取的收发数据对应的日志信息;
利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至日志文件。
该电子设备可以实现本申请实施例所提供的日志获取方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任一日志获取方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
图7示出了本发明实施例提供的电子设备的具体结构框图,该电子设备可以用于实施上述实施例中提供的日志获取方法。该电子设备600可以为移动手机、PAD、PC端等设备。
RF电路610用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路610可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路610可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced DataGSM Environment,EDGE),宽带码分多址技术(Wideband Code Division MultipleAccess,WCDMA),码分多址技术(Code Division Access,CDMA)、时分多址技术(TimeDivision Multiple Access,TDMA),无线保真技术(Wireless Fidelity,Wi-Fi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE 802.11b,IEEE802.11g和/或IEEE 802.11n)、网络电话(Voice over Internet Protocol,VoIP)、全球微波互联接入(WorldwideInteroperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
存储器620可用于存储软件程序以及模块,如上述实施例中对应的程序指令/模块,处理器680通过运行存储在存储器620内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器620可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器620可进一步包括相对于处理器680远程设置的存储器,这些远程存储器可以通过网络连接至电子设备600。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元630可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元630可包括触敏表面631以及其他输入设备632。触敏表面631,也称为触摸显示屏(触摸屏)或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面631上或在触敏表面631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面631。除了触敏表面631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及移动终端600的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元640可包括显示面板641,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板641。进一步的,触敏表面631可覆盖显示面板641,当触敏表面631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图中,触敏表面631与显示面板641是作为两个独立的部件来实现输入和输出功能,但是可以理解地,将触敏表面631与显示面板641集成而实现输入和输出功能。
电子设备600还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在翻盖合上或者关闭时产生中断。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备600还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与电子设备600之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一终端,或者将音频数据输出至存储器620以便进一步处理。音频电路660还可能包括耳塞插孔,以提供外设耳机与电子设备600的通信。
电子设备600通过传输模块670(例如Wi-Fi模块)可以帮助用户接收请求、发送信息等,它为用户提供了无线的宽带互联网访问。虽然图示出了传输模块670,但是可以理解的是,其并不属于电子设备600的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是电子设备600的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行电子设备600的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器680可包括一个或多个处理核心;在一些实施例中,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地,上述调制解调处理器也可以不集成到处理器680中。
电子设备600还包括给各个部件供电的电源690(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源690还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备600还包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备的显示单元是触摸屏显示器,移动终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:
获取预设日志抓取工具所对应的主线程;
创建所述主线程的子线程,并创建传输日志信息的传输管道;
利用所述子线程生成日志信息,并将所述日志信息写入所述传输管道,其中,所述日志信息是预设日志抓取工具抓取的收发数据对应的日志信息;
利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至日志文件。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的日志获取方法中任一实施例的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的日志获取方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任日志获取方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种日志获取方法、装置、存储介质和电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种日志获取方法,其特征在于,包括:
获取预设日志抓取工具所对应的主线程,所述预设日志抓取工具为QXDM工具;
创建所述主线程的子线程,并创建传输日志信息的传输管道,其中,所述创建传输日志信息的传输管道,包括:引入管道创建文件,调用所述管道创建文件中的管道创建接口,将该管道创建接口作为预设管道创建接口,调用所述预设管道创建接口,创建传输日志信息的传输管道,生成所述传输管道的管道描述符,所述管道描述符提供了相应的地址,以使线程到相应的地址上去读数据或者写数据;
利用所述子线程生成日志信息,并将所述日志信息写入所述传输管道,其中,所述日志信息是预设日志抓取工具抓取的收发数据对应的日志信息;
利用所述主线程创建日志文件;
利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至所述日志文件中;
检测所述日志文件的文件大小是否超过预设阈值;
若所述日志文件的文件大小超过预设阈值,则执行所述利用所述主线程创建日志文件的步骤。
2.根据权利要求1所述的日志获取方法,其特征在于,所述利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至日志文件,包括:
利用所述主线程创建日志文件;
利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至所述日志文件中。
3.根据权利要求2所述的日志获取方法,其特征在于,还包括:
获取创建所述日志文件的创建时间;
若所述日志文件的文件大小超过预设阈值,检测所有日志文件的总数量是否超过预设数量;
若是,则删除创建时间最早的日志文件;
若否,则执行所述利用所述主线程创建日志文件的步骤。
4.根据权利要求2所述的日志获取方法,其特征在于,还包括:
获取创建所述日志文件的创建时间;
若所述日志文件的文件大小超过预设阈值,确定所有日志文件所占存储量是否超过预设存储量;
若是,则删除创建时间最早的日志文件;
若否,则执行所述利用所述主线程创建日志文件的步骤。
5.根据权利要求1所述的日志获取方法,其特征在于,所述利用所述子线程生成日志信息,包括:
利用所述子线程执行日志抓取指令,以抓取电子设备的收发数据,并生成所述收发数据对应的日志信息。
6.根据权利要求1所述的日志获取方法,其特征在于,所述将所述日志信息写入所述传输管道,包括:
获取所述传输管道的管道描述符;
将所述日志信息写入至所述管道描述符对应的所述传输管道。
7.根据权利要求1所述的日志获取方法,其特征在于,所述创建传输日志信息的传输管道,包括:
创建传输日志信息的传输管道,并生成所述传输管道的管道描述符。
8.一种日志获取装置,应用于电子设备,其特征在于,所述日志获取装置包括:
线程获取单元,用于获取预设日志抓取工具所对应的主线程,所述预设日志抓取工具为QXDM工具;
创建单元,用于创建所述主线程的子线程,并创建传输日志信息的传输管道,其中,所述创建传输日志信息的传输管道,包括:引入管道创建文件,调用所述管道创建文件中的管道创建接口,将该管道创建接口作为预设管道创建接口,调用所述预设管道创建接口,创建传输日志信息的传输管道,生成所述传输管道的管道描述符,所述管道描述符提供了相应的地址,以使线程到相应的地址上去读数据或者写数据;
管道写入单元,用于利用所述子线程生成日志信息,并将所述日志信息写入所述传输管道,其中,所述日志信息是预设日志抓取工具抓取的收发数据对应的日志信息;
文件写入单元,用于利用所述主线程创建日志文件,利用所述主线程读取所述传输管道的日志信息,并将所述日志信息写入至所述日志文件中,检测所述日志文件的文件大小是否超过预设阈值,若是,则接着触发文件写入单元的利用所述主线程创建日志文件的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至7任一项所述的日志获取方法。
10.一种电子设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于执行权利要求1至7任一项所述的日志获取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911354254.2A CN111078523B (zh) | 2019-12-25 | 2019-12-25 | 日志获取方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911354254.2A CN111078523B (zh) | 2019-12-25 | 2019-12-25 | 日志获取方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078523A CN111078523A (zh) | 2020-04-28 |
CN111078523B true CN111078523B (zh) | 2024-02-09 |
Family
ID=70317507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911354254.2A Active CN111078523B (zh) | 2019-12-25 | 2019-12-25 | 日志获取方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078523B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286876B (zh) * | 2020-10-29 | 2024-08-20 | 深圳Tcl新技术有限公司 | 日志文件抓取方法、设备及计算机可读存储介质 |
CN112965833B (zh) * | 2021-02-23 | 2023-07-14 | 新华三信息安全技术有限公司 | 日志处理方法及装置 |
CN113965844B (zh) * | 2021-12-22 | 2022-04-15 | 深圳市维海德技术股份有限公司 | 低延时音频传输方法、装置、驱动设备及可读存储介质 |
CN115209394B (zh) * | 2022-05-31 | 2024-08-30 | 深圳市广和通无线股份有限公司 | 日志抓取方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508765A (zh) * | 2011-11-17 | 2012-06-20 | 深圳市中兴移动通信有限公司 | 一种通过进程间通信实现软件日志实时监控的方法 |
CN103838624A (zh) * | 2013-12-16 | 2014-06-04 | 浪潮电子信息产业股份有限公司 | 一种基于Linux消息队列的日志处理方法 |
CN104050074A (zh) * | 2013-03-12 | 2014-09-17 | 中国银联股份有限公司 | 一种在系统中异步记录日志的方法和装置 |
CN104714880A (zh) * | 2012-09-25 | 2015-06-17 | 北京奇虎科技有限公司 | 日志数据传输方法、系统及日志服务器 |
CN107545067A (zh) * | 2017-09-13 | 2018-01-05 | 广东欧珀移动通信有限公司 | 日志信息上报方法、装置及存储介质、adsp和终端 |
CN107688536A (zh) * | 2017-08-23 | 2018-02-13 | 上海与德科技有限公司 | 一种获取终端系统日志的方法及装置 |
CN108255674A (zh) * | 2017-12-31 | 2018-07-06 | 广东欧珀移动通信有限公司 | 多进程浏览器进程日志收集方法、装置以及移动终端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266159B2 (en) * | 2009-08-18 | 2012-09-11 | Benchworkzz, LLC | System and method for providing access to log data files |
CN104899129A (zh) * | 2014-03-06 | 2015-09-09 | 腾讯科技(深圳)有限公司 | 日志记录方法及装置 |
CN106201756B (zh) * | 2016-07-12 | 2019-09-06 | 努比亚技术有限公司 | 日志获取装置、移动终端及方法 |
CN107133158A (zh) * | 2017-04-26 | 2017-09-05 | 贵州省广播电视信息网络股份有限公司 | 一种适用于Android设备的日志自动采集及问题定位跟踪方法 |
-
2019
- 2019-12-25 CN CN201911354254.2A patent/CN111078523B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508765A (zh) * | 2011-11-17 | 2012-06-20 | 深圳市中兴移动通信有限公司 | 一种通过进程间通信实现软件日志实时监控的方法 |
CN104714880A (zh) * | 2012-09-25 | 2015-06-17 | 北京奇虎科技有限公司 | 日志数据传输方法、系统及日志服务器 |
CN104050074A (zh) * | 2013-03-12 | 2014-09-17 | 中国银联股份有限公司 | 一种在系统中异步记录日志的方法和装置 |
CN103838624A (zh) * | 2013-12-16 | 2014-06-04 | 浪潮电子信息产业股份有限公司 | 一种基于Linux消息队列的日志处理方法 |
CN107688536A (zh) * | 2017-08-23 | 2018-02-13 | 上海与德科技有限公司 | 一种获取终端系统日志的方法及装置 |
CN107545067A (zh) * | 2017-09-13 | 2018-01-05 | 广东欧珀移动通信有限公司 | 日志信息上报方法、装置及存储介质、adsp和终端 |
CN108255674A (zh) * | 2017-12-31 | 2018-07-06 | 广东欧珀移动通信有限公司 | 多进程浏览器进程日志收集方法、装置以及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111078523A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078523B (zh) | 日志获取方法、装置、存储介质及电子设备 | |
WO2018049887A1 (zh) | 数据传输处理方法及终端设备 | |
CN106708554B (zh) | 程序运行方法及装置 | |
CN109714476B (zh) | 数据处理方法、装置、移动终端及存储介质 | |
CN108270757B (zh) | 一种用户账户切换方法、装置、客户端以及系统 | |
CN103793267B (zh) | 队列的访问方法及装置 | |
CN111104180B (zh) | 应用程序优化方法、装置、存储介质及电子设备 | |
CN106302603A (zh) | 远程删除信息的方法和装置 | |
CN107066374B (zh) | 一种数据处理方法及移动终端 | |
US10853092B2 (en) | Method and device for sound effect processing | |
CN111026457B (zh) | 一种硬件配置方法、装置、存储介质及终端设备 | |
CN111045737A (zh) | 设备标识获取方法、装置、终端设备和存储介质 | |
CN111143580B (zh) | 多媒体数据存储方法、装置、存储介质及电子设备 | |
CN110048824B (zh) | 通信模块的控制方法、控制装置以及计算机可读存储介质 | |
CN112199050A (zh) | 存储方法、装置、存储介质及终端设备 | |
CN114095585B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN112199245B (zh) | 移动终端屏幕检测方法、系统、存储介质及移动终端 | |
CN111654848B (zh) | Nfc卡检测方法、装置、存储介质及移动终端 | |
CN112379857B (zh) | 音频数据处理方法、装置、存储介质及移动终端 | |
CN112256197B (zh) | 一种存储信息的管理方法、装置、设备及存储介质 | |
CN110046063B (zh) | 移动终端恢复出厂设置的装置、方法及存储介质 | |
CN111405649B (zh) | 一种信息传输方法、装置及移动终端 | |
CN111010477B (zh) | 音频信号调用方法及其系统、存储介质及终端设备 | |
CN109995441B (zh) | 通讯信息处理的方法、装置及存储介质 | |
CN110806914B (zh) | 一种应用的处理方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |