CN115390847A - 日志处理方法及装置、计算机可读存储介质、终端 - Google Patents
日志处理方法及装置、计算机可读存储介质、终端 Download PDFInfo
- Publication number
- CN115390847A CN115390847A CN202210999662.9A CN202210999662A CN115390847A CN 115390847 A CN115390847 A CN 115390847A CN 202210999662 A CN202210999662 A CN 202210999662A CN 115390847 A CN115390847 A CN 115390847A
- Authority
- CN
- China
- Prior art keywords
- log
- tracking
- character string
- processing method
- identifier
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4432—Reducing the energy consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种日志处理方法及装置、计算机可读存储介质、终端,所述日志处理方法,包括:响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识;根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量;基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。上述方案,可以有效地减小日志信息的数据量,进而减小日志信息所占用的内存,还可以减小日志信息输出时占用的串口带宽。
Description
技术领域
本发明实施例涉及软件开发技术领域,尤其涉及一种日志处理方法及装置、计算机可读存储介质、终端。
背景技术
日志是在软件开发中必不可少的调试手段,可以通过日志来记录软件运行状态,以方便问题追踪定位。
传统日志存储是在软件平台端直接以相应字符串放入代码中进行编码,随后在软件编译过程中,将这些字符串直接存储到软件包中。在后续程序运行时,触发相应条件后可直接打印出对应日志,随后使用相关日志分析工具对日志进行分析。
然而,上述日志存储及打印方式,由于完整的日志往往记录有大量的字符串,导致在程序运行时,输出日志解析、拼接字符串占用较多内存。在日志传输时,由于数据量较大,占用串口带宽。
发明内容
本发明实施例解决的至少一个技术问题是如何减小日志信息的数据量,以减小对内存空间及串口带宽的占用。
为解决上述技术问题,本发明实施例提供一种日志处理方法,包括:响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识;根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量;基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。
可选的,所述跟踪映射文件包括多个子文件,不同子文件中记录有属于不同日志类型的日志的跟踪标识与日志字符串的映射关系,根据所述跟踪标识所配置的字节数对应的最大数值范围,将最大数值范围划分为多个数值区间,每个数值区间分别有对应的多个跟踪标识,不同日志类型分别对应不同的数值区间,所述根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,包括:根据各跟踪标识所属的数值区间,确定各跟踪标识对应的子文件;从各跟踪标识对应的子文件中,查找各跟踪标识对应的日志字符串。
可选的,在响应于日志抓取操作,获取程序运行的日志信息之前,还包括:配置日志打印规则,所述日志打印规则包括:各操作被触发时分别打印的跟踪标识;基于配置的所述日志打印规则对所述程序的源代码进行软件编译,生成所述程序对应的软件包。
可选的,所述日志打印规则还包括:各操作被触发时的日志打印方式,所述日志打印方式包括以下任一种:打印跟踪标识方式、跟踪标识及日志字符串混合打印方式。
可选的,所述跟踪标识及日志字符串混合打印方式,包括:当日志字符串的长度大于等于设定长度阈值时,打印跟踪标识;当日志字符串的长度小于所述设定长度阈值时,打印所述日志字符串。
可选的,所述日志处理方法,还包括:响应于更新操作,根据接收到的更新信息对所述预设的跟踪映射文件进行更新。
本发明实施例还提供一种日志处理装置,包括:输出单元,用于响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识;查找单元,用于根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量;显示单元,用于基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种日志处理方法的步骤。
本发明实施例还提供一种日志处理装置,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种日志处理方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例中,响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识;根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量;基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。
相比于现有技术中日志信息中采用完整日志字符串进行记录而言,本发明实施例中,通过采用一个或多个跟踪标识代替日志字符串来记录日志,从而得到的日志信息包括的是一个或多个跟踪标识,基于预设的跟踪映射文件对跟踪标识进行解析,即可得到日志信息的解析结果。由于一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量,从而日志信息采用跟踪标识相较于现有技术中采用完整日志字符串,可以较大的减小日志信息的数据量,进而不管在进行日志存储还是需要进行日志打印,或者是在日志输出时,均可以有效地减小日志信息的数据量,进而减小日志信息所占用的内存,还以减小日志信息输出时占用的串口带宽。
附图说明
图1是本发明实施例中的一种日志处理方法的流程图;
图2是本发明实施例中的另一种日志处理方法的流程图;
图3是本发明实施例中的一种日志处理装置的结构示意图。
具体实施方式
如上所述,传统日志存储是在软件平台端直接以相应字符串放入代码中进行编码,随后在软件编译过程中,将这些字符串直接存储到软件包中。在后续程序运行时,触发相应条件后可直接打印出对应日志,随后使用相关日志分析工具对日志进行分析。然而,上述方法存在以下问题:直接以字符串形式打印日志,完整日志往往记录有大量的字符串,导致在运行程序时解析、拼接字符串占用较多内存,并占用CPU处理时间。在日志传输时,由于数据量较大,占用串口带宽。
为解决上述问题,在本发明实施例中,通过采用一个或多个跟踪标识代替日志字符串来记录日志,从而得到的日志信息包括一个或多个跟踪标识,基于预设的跟踪映射文件对跟踪标识进行解析,即可得到日志信息的解析结果。由于一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量,从而日志信息采用跟踪标识相较于现有技术中采用完整日志字符串,可以较大的减小日志信息的数据量,进而不管在进行日志存储还是需要进行日志打印时,均可以有效地减小日志信息的数据量,进而减小日志信息所占用的内存,还可以减小日志信息输出时占用的串口带宽。
为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供一种日志处理方法,日志处理方法可以由终端执行,也可以由终端中具有日志处理功能的芯片执行,还可以由终端中的基带芯片执行。
具体地,参照图1,给出了本发明实施例中的一种日志处理方法的流程图,具体可以包括如下步骤(简称S):
S11,响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识。
S12,根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量。
S13,基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。
在具体实施中,日志信息可以包括一条日志或者多条日志。一条日志可以对应一个跟踪标识,从而获取到的日志信息中包括一个或多个跟踪标识。
本发明实施例中,通过采用跟踪标识代替日志字符串来记录日志,从而得到的日志信息包括一个或多个跟踪标识,基于预设的跟踪映射文件对跟踪标识进行解析,即可得到日志信息的解析结果。由于一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量,从而日志信息采用跟踪标识相较于现有技术中采用完整日志字符串,可以较大的减小日志信息的数据量,进而不管在进行日志存储还是需要进行日志打印时,均可以有效地减小日志信息的数据量,进而减小日志信息所占用的内存,还可以减小日志信息输出时占用的串口带宽。此外,由于日志信息的数据量减小,还可以降低日志信息在输出过程中,减小数据丢失的概率。
通常日志字符串具有显性的语义信息(例如,日志字符串可以是基于自然语言构建的字符串),基于日志字符串直接呈现的内容可以获知程序运行过程中的相应操作。程序运行过程中所产生的日志信息具有一定的固定性,也即,记录在日志信息中的日志字符串的组合数量是确定的。因此,本发明实施例中,可以采用无需具备显性的语义信息的跟踪标识(Trace ID)来代替日志字符串,并配置用于记录各个跟踪标识与日志字符串的对应关系的跟踪映射(trace data base)文件,例如,跟踪映射文件可以采用YAML语言编写,该文件例如可以是trace.yaml文件。由于一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量,从而使得程序运行时产生的日志信息相较于现有技术中产生的日志信息的数据量较小,从而在进行日志信息存储时可以减小所占用的存储空间,在进行日志信息输出时可以减小对带宽的占用。通过减小日志的数据量还可以减小日志处理过程中占用CPU处理时间。此外,后续进行程序调试而需要对日志分析时,基于跟踪标识即可从跟踪映射文件中查到该跟踪标识对应的日志字符串,从而可以实现对所得到的包含跟踪标识的日志信息的解析,得到日志信息的解析结果,并显示解析结果。
S11中,响应于日志抓取操作,可以通过串口获取程序运行的日志信息,也可以从日志信息的存储器获取日志信息,还可以通过其他方式获取日志信息。根据实际应用场景不同,日志信息的获取方式不同。例如,当日志处理方法的执行主体(例如为第一终端)与程序所安装的主体(例如为第二终端)为不同主体时,第一终端与第二终端之间通过数据传输接口进行连接,第一终端数据传输接口(例如串口)从第二终端获取到日志信息。再如,当日志处理方法的执行主体与程序所安装的主体为同主体(即为同一终端)时,可以从该终端或者与该终端耦接的存储器获取日志信息。
关于日志抓取操作,可以通过多种方式触发,例如,通过语音指令触发日志抓取操作。又如,通过操作日志抓取操作按键触发日志抓取操作等。
在一些非限制性实施例中,跟踪标识的长度可以为4字节,也可以为2个字节,或者还可以为大于4字节或者小于2字节的其他字节。跟踪标识的长度可以根据实际应用场景需求进行配置。例如,在一些程序的操作较多,从而产生的日志的类型或者数目较多的场景中,为了能够实现各操作对应的日志均能够唯一对应有跟踪标识,可以配置跟踪标识的长度相对较长,也即跟踪标识占用的字节数稍大。相应地,在一些程序的操作较少,从而产生的日志的类型或者数目较少的场景中,此时可以将跟踪标识的长度配置的相对较短,也能够满足与各操作对应的日志均能够唯一对应有跟踪标识,也即跟踪标识占用的字节数较小。
在一些非限制性实施例中,可以根据跟踪标识所配置的字节数对应的最大数值范围,将最大数值范围划分为多个数值区间,每个数值区间分别有对应的多个跟踪标识。可以配置不同日志类型对应于不同的数值区间,从而属于不同日志类型的日志字符串对应的跟踪标识所属的数值区间不同。
所述跟踪映射文件包括多个子文件,不同子文件中记录有属于不同日志类型的日志的跟踪标识与日志字符串的映射关系。从而不同日志类型存在对应的子文件。
进一步,S12中所述根据预设的跟踪映射文件,查找各跟踪标识分别对应的日志字符串,具体可以包括:根据各跟踪标识所属的数值区间,确定各跟踪标识对应的子文件;从各跟踪标识对应的子文件中,查找各跟踪标识对应的日志字符串。进而后续对日志信息进行解析时,根据跟踪标识确定对应的子文件,并在子文件记录的跟踪标识与日志字符串的映射关系中,查找各跟踪标识对应的日志字符串,而不必在其他的子文件中进行查找,可以有效地缩小查找范围,提高日志处理效率。
例如,跟踪标识的长度为M个字节,M个字节对应的最大数值范围为[0,N],将最大数值范围[0,N]划分为数值区间[0,A)、[A,B)、[B,C)及[C,N]。其中,M、N、A、B、C均为正整数,且A<B<C<N。[0,A)与第一日志类型对应,[A,B)与第二日志类型对应,[B,C)与第三种日志类型对应,[C,N]与第四日志类型对应。第一日志类型的日志的跟踪标识对应的数值属于[0,A),第二日志类型的跟踪标识对应的数值属于[A,B),第三日志类型的跟踪标识对应的数值属于[B,C),第四日志类型的跟踪标识对应的数值属于[C,N]。第一子文件中记录有第一日志类型下的日志的跟踪标识与日志字符串的映射关系。第二子文件中记录有第二日志类型下的日志的跟踪标识与日志字符串的映射关系。第三子文件中记录有第三日志类型下的日志的跟踪标识与日志字符串的映射关系。第四子文件中记录有第四日志类型下的日志的跟踪标识与日志字符串的映射关系。例如,当跟踪标识对应的数值属于[A,B)时,则从第二子文件中查找跟踪标识对应的日志字符串,而无需查找第一子文件、第三子文件及第四子文件。
可以理解的是,也可以配置多种日志类型对应一个子文件,具体根据实际需求进行配置即可。
在S13的具体实施中,在查找到各跟踪标识对应的日志字符串之后,也即解析得到各跟踪标识对应的日志字符串,进而得到日志信息的解析结果。在输出显示时,显示跟踪标识对应的日志字符串。例如,跟踪标识0x00010001对应的日志字符串为"RACH:nprachCfgV1530Present but no Fmt2 para on any UL carrier for this repetitionlevel,including the anchor,use Prach Fmt0Fmt1",那么最终显示的解析结果为"RACH:nprachCfgV1530Present but no Fmt2 para on any UL carrier for this repetitionlevel,including the anchor,use Prach Fmt0Fmt1"。
进一步,参照图2,给出了本发明实施例中的另一种日志处理方法的流程图。图2在图1所示意的实施例的基础上,在S11响应于日志抓取操作,获取程序运行的日志信息之前,可以进行日志打印规则的配置。具体而言,日志处理方法还可以包括S21及S22。
S21,配置日志打印规则,所述日志打印规则包括:各操作被触发时分别打印的跟踪标识。
S22,基于配置的所述日志打印规则对所述程序的源代码进行软件编译,生成所述程序对应的软件包。
由于日志打印规则配置时,各操作被触发时分别打印的跟踪标识,相比于现有技术中,配置各操作被触发时打印完整的日志字符串而言,本发明实施例中的日志打印规则的数量相对较小,从而在将日志打印规则放入源代码并进行软件编译,得到软件包后,软件包的数据量也大大减小。当将软件包烧录或者存储于存储芯片(如flash)时,软件包所占用的内存空间将大大减小。
在配置日志打印规则时,或者配置打印规则之前或之后,生成跟踪映射文件。跟踪映射文件中记录有各操作被触发时的日志字符串与跟踪标识之间的映射关系。例如,某一操作被触发时打印的跟踪标识为0x00010001,该操作被触发时的日志字符串为"RACH:nprachCfgV1530Present but no Fmt2 para on any UL carrier for this repetitionlevel,including the anchor,use Prach Fmt0Fmt1",则跟踪映射文件中记录有“0x00010001”与"RACH:nprachCfgV1530Present but no Fmt2 para on any UL carrierfor this repetition level,including the anchor,use Prach Fmt0Fmt1"的映射关系。
在具体实施中,所述日志打印规则还包括:各操作被触发时的日志打印方式,所述日志打印方式包括以下任一种:打印跟踪标识方式、跟踪标识及日志字符串混合打印方式。
在一些实施例中,程序运行时,打印的日志信息仅包括跟踪标识。
在另一些实施例中,程序运行时,打印的日志信息包括:跟踪标识及日志字符串。
进一步,所述跟踪标识及日志字符串混合打印方式,包括:当日志字符串的长度大于等于设定长度阈值时,打印跟踪标识;当日志字符串的长度小于所述设定长度阈值时,打印所述日志字符串。
在具体实施中,关于设定长度阈值可以根据跟踪标识的长度、日志字符串的平均长度或者最小长度等进行设定。
在实际中,可能存在对程序进行更新或者对日志打印规则进行更新的情况,在本发明实施例中,响应于更新操作,根据接收到的更新信息对所述预设的跟踪映射文件进行更新。
在一些实施例中,更新信息可以为更新后的跟踪映射文件。将更新后的跟踪映射文件覆盖当前的跟踪映射文件,并将更新后的跟踪映射文件作为预设的跟踪映射文件。
在另一些实施例中,更新信息可以为待更新的跟踪标识及对应的日志字符串,此时,采用待更新的跟踪标识及对应的日志字符串对当前的跟踪映射文件进行更新,并将更新得到的跟踪映射文件作为预设的跟踪映射文件。其中,更新信息可以包括增加新的跟踪标识及对应的日志字符串,与可以包括删除跟踪标识及对应的日志字符串,还可以包括对日志字符串对应的跟踪标识进行更新,还可以包括对跟踪标识对应的日志字符串进行更新。
需要说明的是,本发明实施例提供的日志处理方法可以由程序运行的终端执行,也可以由其他终端执行,其他终端与程序运行的终端不是同一终端,并可以从程序运行的终端获取日志信息,其他终端可以为手机、电脑、平板、云平台、服务器等。
本发明实施例还提供一种日志处理装置,参照图3,给出了本发明实施例中的一种日志处理装置的结构示意图。日志处理装置30可以用于实施上述图1及2所述实施例中所述的方法技术方案。具体地,日志处理装置30可以包括:
输出单元31,用于响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识;
查找单元32,用于根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量;
显示单元33,用于基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。
关于所述日志处理装置30的工作原理、工作方式的更多内容,可以参照上述图1中的相关描述,此处不再赘述。
在具体实施中,上述日志处理装置可以对应于终端中具有日志处理功能的芯片,例如SOC(System-On-a-Chip,片上系统)、基带芯片等;或者对应于终端中包括具有日志处理功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于终端。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行本发明上述任一实施例提供的日志处理方法的步骤。
所述计算机可读存储介质可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specificintegrated circuit,简称ASIC)、现场可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random AccessMemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(Random Access Memory,简称RAM)可用,例如静态随机存取存储器(StaticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SynchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,简称DR RAM)。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一实施例提供的日志处理方法的步骤。
所述存储器和所述处理器耦合,存储器可以位于终端内,也可以位于终端外。所述存储器和所述处理器可以通过通信总线连接。
终端可以包括但不限于手机、计算机、平板电脑等终端设备,还可以为服务器、云平台等。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二、第三等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (9)
1.一种日志处理方法,其特征在于,包括:
响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识;
根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量;
基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。
2.如权利要求1所述的日志处理方法,其特征在于,所述跟踪映射文件包括多个子文件,不同子文件中记录有属于不同日志类型的日志的跟踪标识与日志字符串的映射关系,根据所述跟踪标识所配置的字节数对应的最大数值范围,将最大数值范围划分为多个数值区间,每个数值区间分别有对应的多个跟踪标识,不同日志类型分别对应不同的数值区间,所述根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,包括:
根据各跟踪标识所属的数值区间,确定各跟踪标识对应的子文件;
从各跟踪标识对应的子文件中,查找各跟踪标识对应的日志字符串。
3.如权利要求1所述的日志处理方法,其特征在于,在响应于日志抓取操作,获取程序运行的日志信息之前,还包括:
配置日志打印规则,所述日志打印规则包括:各操作被触发时分别打印的跟踪标识;
基于配置的所述日志打印规则对所述程序的源代码进行软件编译,生成所述程序对应的软件包。
4.如权利要求3所述的日志处理方法,其特征在于,所述日志打印规则还包括:各操作被触发时的日志打印方式,所述日志打印方式包括以下任一种:打印跟踪标识方式、跟踪标识及日志字符串混合打印方式。
5.如权利要求4所述的日志处理方法,其特征在于,所述跟踪标识及日志字符串混合打印方式,包括:
当日志字符串的长度大于等于设定长度阈值时,打印跟踪标识;当日志字符串的长度小于所述设定长度阈值时,打印所述日志字符串。
6.如权利要求1所述的日志处理方法,其特征在于,还包括:
响应于更新操作,根据接收到的更新信息对所述预设的跟踪映射文件进行更新。
7.一种日志处理装置,其特征在于,包括:
输出单元,用于响应于日志抓取操作,获取程序运行的日志信息,所述日志信息包括一个或多个跟踪标识;
查找单元,用于根据预设的跟踪映射文件,查找各跟踪标识对应的日志字符串,所述跟踪映射文件用于记录跟踪标识与日志字符串之间的唯一映射关系,一个或多个跟踪标识中的至少一部分跟踪标识的数据量小于其对应的日志字符串的数据量;
显示单元,用于基于查找到的各跟踪标识对应的日志字符串得到所述日志信息的解析结果,并显示。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至6任一项所述的日志处理方法的步骤。
9.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至6中任一项所述的日志处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999662.9A CN115390847A (zh) | 2022-08-19 | 2022-08-19 | 日志处理方法及装置、计算机可读存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999662.9A CN115390847A (zh) | 2022-08-19 | 2022-08-19 | 日志处理方法及装置、计算机可读存储介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115390847A true CN115390847A (zh) | 2022-11-25 |
Family
ID=84120347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210999662.9A Pending CN115390847A (zh) | 2022-08-19 | 2022-08-19 | 日志处理方法及装置、计算机可读存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115390847A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910000A (zh) * | 2023-06-30 | 2023-10-20 | 荣耀终端有限公司 | 一种日志处理方法、日志存储方法及嵌入式设备 |
WO2024187944A1 (zh) * | 2023-03-10 | 2024-09-19 | 华为云计算技术有限公司 | 数据压缩方法及装置 |
-
2022
- 2022-08-19 CN CN202210999662.9A patent/CN115390847A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024187944A1 (zh) * | 2023-03-10 | 2024-09-19 | 华为云计算技术有限公司 | 数据压缩方法及装置 |
CN116910000A (zh) * | 2023-06-30 | 2023-10-20 | 荣耀终端有限公司 | 一种日志处理方法、日志存储方法及嵌入式设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325009B (zh) | 日志解析的方法及装置 | |
CN115390847A (zh) | 日志处理方法及装置、计算机可读存储介质、终端 | |
CN107368593B (zh) | 数据导入方法、装置及服务器 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN111177113B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN110716965B (zh) | 一种块链式账本中的查询方法、装置及设备 | |
CN110795069A (zh) | 代码分析方法、智能终端及计算机可读存储介质 | |
CN111008246A (zh) | 数据库日志同步方法、装置、计算机设备及可读存储介质 | |
US20240264931A1 (en) | Storage optimization method and apparatus for distributed storage system | |
CN117349267B (zh) | 一种数据库迁移处理方法及系统 | |
CN111803917B (zh) | 资源的处理方法和装置 | |
CN112181430A (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN114153910A (zh) | 数据采集方法、装置及电子装置、计算机程序产品 | |
CN112286706B (zh) | 安卓应用的应用信息远程快速获取方法及相关设备 | |
CN110569218A (zh) | 一种ext文件系统离线修改方法、装置及存储介质 | |
CN114153856A (zh) | 主机数据双写方法及装置 | |
CN111639087A (zh) | 数据库中数据更新方法、装置和电子设备 | |
CN110795915B (zh) | xml文件批量修改方法、系统、设备和计算机可读存储介质 | |
CN111240790A (zh) | 一种应用的多语言适配方法、装置、客户端和存储介质 | |
US11620436B2 (en) | Method for dynamically displaying text, apparatus, medium, and system | |
CN110929188A (zh) | 服务端页面渲染方法及装置 | |
CN113792055A (zh) | 数据处理方法、电子设备及存储介质 | |
CN108415814B (zh) | 自动记录字段变化方法、应用服务器及计算机可读存储介质 | |
CN111538651A (zh) | 接口测试方法、装置、服务器及存储介质 | |
CN112199529A (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 |