【技术实现步骤摘要】
一种嵌入式系统及其日志管理方法
本申请涉及一种嵌入式系统的日志管理方法。
技术介绍
以微处理器(microprocessor)和微控制器(MCU,microcontroller)为核心、采用嵌入式系统(EmbeddedSystem)的硬件设备在工业控制、交通管理、信息家电等领域都有广泛的应用。在嵌入式系统中,日志(log)系统是必不可少的。日志用来监控、记录嵌入式系统的实时运行状况。日志可以输出到内存的某块空间、可以输出到某个线程(thread)的套接字(socket)、可以输出到某个串行接口(serialport)或者USB接口等,最后再由文件系统写到某个非易失性存储器(NVM,NonVolatileMemory)中。在嵌入式系统出现问题时,可以根据日志的记录来快速定位问题并解决。对技术人员来说,日志越详细则越容易快速找到问题根源。对于嵌入式系统而言,越详细的日志则意味着越多的资源消耗在日志输出操作上,使得整个系统的性能受到影响。在一些要求快速响应、数据量巨大的嵌入式系统中,如何平衡日志的详细程度与系统开销就成为一个亟待解决的技术问题。
技术实现思路
本申请所要解决的技术问题是提供一种嵌入式系统的日志管理方法,具有系统开销小、简洁高效、日志记录完备的特点,有利于开发者快速定位和解决问题。为此,本申请还要提供一种相应的嵌入式系统。为解决上述技术问题,本申请提供了一种嵌入式系统的日志管理方法,包括如下步骤。步骤S110:在嵌入式系统的源代码编译时,利用脚本对源代码进行预处理编码;所述 ...
【技术保护点】
1.一种嵌入式系统的日志管理方法,其特征是,包括如下步骤:/n步骤S110:在嵌入式系统的源代码编译时,利用脚本对源代码进行预处理编码;所述预处理编码包括文件编码、消息编码和文本编码;/n所述文件编码是指对源代码中的文件进行编号,每个编号对应于一个文件;/n所述消息编码是指对源代码的每个文件中的消息ID进行编号;/n所述文本编码是指对源代码的每个文件中的日志输出标识进行编号;/n步骤S120:对嵌入式系统的源代码的每个文件中的每个消息ID,将该消息ID所在文件的文件编码、该消息ID的消息编码、以及日志类型为消息类型这三部分构成一条跟踪代码,对应一条消息类型的日志;/n对嵌入式系统的源代码的每个文件中的每个日志输出标识,将该日志输出标识所在文件的文件编码、该日志输出标识的文本编码、以及日志类型为文本类型这三部分构成一条跟踪代码,对应一条文本类型的日志;/n将所有的跟踪代码都存储在第一文件中,第一文件中还记录了每条消息类型的日志的消息结构,还记录了每条文本类型的日志的文本格式,均与相应的跟踪代码相对应;每一条消息类型的日志的消息结构记录了该条消息类型的日志中各个参数的名称及顺序;每一条文本 ...
【技术特征摘要】
1.一种嵌入式系统的日志管理方法,其特征是,包括如下步骤:
步骤S110:在嵌入式系统的源代码编译时,利用脚本对源代码进行预处理编码;所述预处理编码包括文件编码、消息编码和文本编码;
所述文件编码是指对源代码中的文件进行编号,每个编号对应于一个文件;
所述消息编码是指对源代码的每个文件中的消息ID进行编号;
所述文本编码是指对源代码的每个文件中的日志输出标识进行编号;
步骤S120:对嵌入式系统的源代码的每个文件中的每个消息ID,将该消息ID所在文件的文件编码、该消息ID的消息编码、以及日志类型为消息类型这三部分构成一条跟踪代码,对应一条消息类型的日志;
对嵌入式系统的源代码的每个文件中的每个日志输出标识,将该日志输出标识所在文件的文件编码、该日志输出标识的文本编码、以及日志类型为文本类型这三部分构成一条跟踪代码,对应一条文本类型的日志;
将所有的跟踪代码都存储在第一文件中,第一文件中还记录了每条消息类型的日志的消息结构,还记录了每条文本类型的日志的文本格式,均与相应的跟踪代码相对应;每一条消息类型的日志的消息结构记录了该条消息类型的日志中各个参数的名称及顺序;每一条文本类型的日志的文本格式记录了该条文本类型的日志的描述、各个参数的名称、顺序及占用空间;
步骤S130:在嵌入式系统运行时,将输出的实时日志记录在第二文件中;每一条日志都包括两部分:日志头部和动态参数;
日志头部包括跟踪代码、时间戳和日志长度;
动态参数就是嵌入式系统运行时需要记录的参数;消息类型的日志的动态参数就是传递的消息的内容,与消息结构相对应;文本类型的日志的动态参数就是需要记录的变量的实时值,与文本格式相对应;
步骤S140:将第二文件所记录的每一条日志根据跟踪代码在第一文件中找到相应的消息结构或文本格式,恢复出易于理解的可读日志内容。
2.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S110中,在嵌入式系统的源代码的至少部分文件中包含有一个或多个消息定义;每个消息定义包括消息ID和消息结构。
3.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S110中,在嵌入式系统的源代码的至少部分文件中包含有一处或多处日志输出标识,当源代码运行到日志输出标识时就会输出文本类型的日志。
4.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S120中,将嵌入式系统输出的日志分为消息类型和文本类型;消息类型的日志用来记录嵌入式系统的不同模块之间的消息交互,文本类型的日志用来记录嵌入式系统运行时的参数输出。
5.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S130中,消息类型的日志的日志头部比文本类型的日志的日志头部更长,用来存储发出消息的源模块以及接收消息的目的模块。
6.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S130中,将文本类型的日志分为多个优先级;嵌入式系统在运行阶段输出文本类型的日志时,首先检查该条日志是否满足大于或等于当前优先级阈值,满足时才会输出。
7.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S130中,在嵌入式系统的调试阶段输出所有优先级的文本类型的日志。
8.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S130中,将消息类型的日志分为多个优先级;嵌入式系统在输出消息类型的日志时,首先检查该条日志是否满足大于或等于当前优先级阈值,满足时才会输出。
9.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S140中,如果第二文件所记录的某一条日志的跟踪代码表明这是消息类型的日志,则根据跟踪代码在第一文件中找到相应的消息结构,根据消息结构所记录的各个参数的顺序找到相应的参数数值,从而解码出可读的日志内容。
10.根据权利要求1所述的嵌入式系统的日志管理方法,其特征是,所述步骤S140中,如果第二文件所记录的某一条日志的跟踪代码表明这是文本类型的日志,则根据跟踪代码在第一文件中找到了相应的文本格式,根据文本格式中的各个参数的顺序及占用空间找到相应长度的参数的数值,从而解码出可读的日志内容。
11.一种嵌入式系统,其特征是,包括预处理编码单元、存储单元、日志实时输出单元和日志...
【专利技术属性】
技术研发人员:郭荣华,张建,胡成松,
申请(专利权)人:翱捷科技上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。