CN112799922A - 一种日志管理方法、电子设备和存储装置 - Google Patents
一种日志管理方法、电子设备和存储装置 Download PDFInfo
- Publication number
- CN112799922A CN112799922A CN201911115422.2A CN201911115422A CN112799922A CN 112799922 A CN112799922 A CN 112799922A CN 201911115422 A CN201911115422 A CN 201911115422A CN 112799922 A CN112799922 A CN 112799922A
- Authority
- CN
- China
- Prior art keywords
- module
- log
- adjusted
- output
- grade
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000003745 diagnosis Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种日志管理方法、电子设备和存储装置。该日志管理方法包括:分别为每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级;接收模块的日志信息以及所述日志信息对应的日志等级;从所述模块的配置信息中获得所述模块的输出等级;比较所述日志等级与所述输出等级,得到比较结果;若所述比较结果符合预设输出条件,则输出所述日志信息;否则不输出所述日志信息。通过上述方法,本申请能够使日志的输出做到既保证必要的日志记录,又可以节省IO资源。
Description
技术领域
本申请涉及系统日志管理领域,特别是涉及一种日志管理方法、电子设备和存储装置。
背景技术
开发嵌入式系统时,日志不仅是一种必要、常见且高效的调试开发手段,也是一种重要的产品维护手段。通过在嵌入式系统的程序中添加日志来跟踪代码运行时的轨迹,日志可以向文件或控制台打印代码的调试信息,担当集成开发环境中的调试器的作用。
目前,日志记录主要存在一个问题:大量的日志记录会导致频繁IO(输入输出)操作,如果此日志记录在存储器上,还会占用大量的存储空间;但是稀少的日志记录又会直接导致调试信息减少,影响分析调试系统功能。
发明内容
本申请主要解决的技术问题是提供一种日志管理方法、电子设备和存储装置,能够使日志的输出做到既保证必要的日志记录,又可以节省IO资源。
为解决上述技术问题,本申请第一方面提供了一种日志管理方法,包括:分别为每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级;接收模块的日志信息以及所述日志信息对应的日志等级;从所述模块的配置信息中获得所述模块的输出等级;比较所述日志等级与所述输出等级,得到比较结果;若所述比较结果符合预设输出条件,则输出所述日志信息;否则不输出所述日志信息。
为解决上述技术问题,本申请第二方面提供了一种系统级日志管理方法,所述方法应用于嵌入式系统中,所述嵌入式系统中的每个系统运行环境均设有自身运行环境中不同模块的配置信息;所述方法包括:分别为每个系统运行环境中的每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级;所述嵌入式系统启动时,在运行到每个系统运行环境时,从所述存储器中读取所述系统运行环境对应的配置信息;或者,在运行到第一个系统运行环境时,从所述存储器中读取出所述嵌入式系统中所有系统运行环境对应的配置信息;其中,所述系统运行环境对应的配置信息包括所述系统运行环境中的模块的输出等级;在运行一系统运行环境时,接收到所述系统运行环境中一模块的日志信息以及所述日志信息对应的日志等级,根据所述日志等级与所述配置信息中所述模块的输出等级之间的比较结果来对所述日志信息进行输出管理。
为解决上述技术问题,本申请第三方面提供了一种电子设备,包括相互耦接的处理器和存储器;所述存储器用于存储计算机程序,及所述嵌入式系统中各模块的配置信息;所述处理器用于运行所述计算机程序,以运行嵌入式系统,并利用所述嵌入式系统中的日志系统来执行如上所述的方法,以对所述嵌入式系统中的各模块的日志信息进行管理。
为解决上述技术问题,本申请第四方面提供了一种存储装置,存储有能够被处理器运行的计算机程序,所述计算机程序用于实现如上所述的方法。
本发明的有益效果是:区别于现有技术的情况,本申请的日志管理方法包括:分别为每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级;接收到模块的日志信息以及所述日志信息对应的日志等级;从所述模块的配置信息中获得所述模块的输出等级;比较所述日志等级与所述输出等级,得到比较结果;若所述比较结果符合预设输出条件,则输出所述日志信息;否则不输出所述日志信息。本申请通过对模块设置日志的输出等级,在接收到模块的日志信息以及该日志信息对应的日志等级时,可以比较该日志信息对应的日志等级与设置的输出等级之间的关系;若比较结果符合预设输出条件时,则输出该日志信息,从而可以保证必要的日志记录,例如在模块运行异常时,由于输出有必要的日志记录,可以供分析诊断使用;若比较结果不符合预设输出条件时,则不输出日志信息,从而可以节省IO资源。另外,由于对模块进行输出等级的设置,因此系统中的不同模块可以根据实际情况设置不同的输出等级和预设输出条件,从而在系统的日志管理中,可以实现按模块划分,根据不同模块的实际需求,灵活设置系统中各个模块的日志输出。
附图说明
图1是本申请提供的日志管理方法的一实施例的流程示意图;
图2是本申请提供的日志管理方法的一应用场景的流程示意图;
图3是本申请提供的日志管理方法中关于日志输出等级的调整方法的一应用场景的流程示意图;
图4是本申请提供的系统级日志管理方法的另一实施例的流程示意图;
图5是图4的系统级日志管理方法的一应用场景中存储器的结构示意图;
图6是图4的系统级日志管理方法的一应用场景中读取系统运行环境对应的配置信息的流程示意图;
图7是本申请提供的电子设备的一实施例的结构示意图;
图8是本申请提供的存储装置的一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请提供的日志管理方法的一实施例的流程示意图。本实施例中的日志管理方法包括以下步骤:
S101:分别为每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级。
S102:接收模块的日志信息以及日志信息对应的日志等级。
S103:从模块的配置信息中获得模块的输出等级。
S104:比较日志等级与输出等级,得到比较结果。
S105:若比较结果符合预设输出条件,则输出日志信息;否则不输出日志信息。
日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件,用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹;日志按照所记录事件的重要程度具有不同的等级,例如程序或系统调试信息的低等级、不会影响系统但值得注意的中等级、必须马上采取措施解决问题的高等级等等。可以理解的是,嵌入式系统可以包括多个模块,例如蓝牙模块、相机模块、视频模块等,而不同的模块对于日志的输出等级需求是不同的,例如有些模块无论是低等级的日志还是高等级的日志都需要输出,而有些模块只需要输出高等级的日志,低等级的日志这些模块可能并不需要。因此,为了对嵌入式系统的日志进行管理,可以预先对嵌入式系统中的模块根据其实际需求划分其日志的日志等级,并配置模块的日志的输出等级。
于是,在某一模块生成当前日志信息后,该当前日志信息的日志等级是属于该模块所划分的日志等级中的,例如,为该模块划分的日志等级为8,即,该模块的日志信息所对应的日志等级为8以内的整数等级,具体该模块的不同日志信息的日志等级的划分可按照日志记录的事件的重要程度划分,如越重要的日志事件则取越靠近8的等级数。该模块可以通过输入接口将当前日志信息以及该当前日志信息对应的日志等级输入到日志管理模块,而日志管理模块在接收到该模块的当前日志信息以及该当前日志信息对应的日志等级时,也可以从该模块的配置信息中得到该模块的日志的输出等级;然后可以将该模块的当前日志信息对应的日志等级与该模块的日志的输出等级进行比较,并得到比较结果。然后判断所得到的的比较结果是否符合预设输出条件,若符合,则说明该模块的当前日志信息是需要输出的、有用的,因此可以输出该模块的当前日志信息,例如可以供分析诊断使用;若不符合,则说明该模块的当前日志信息是不需要的,因此可以不输出该模块的当前日志信息,以节省IO资源,并且,因为日志信息可用于供分析诊断使用,因此在日志信息输出之后,一般需要将其进行存储,而通过不输出不需要的日志信息,可以有效减少日志信息的输出量,从而可以节省存储空间。由于本申请对日志的管理是根据嵌入式系统中模块来进行的,因此嵌入式系统的每个模块中的日志根据实际需求,可以自行划分日志等级,并设定默认输出等级,从而在嵌入式系统的日志管理中,根据不同模块的实际需求,可以灵活设置各个模块的日志输出,每个模块都可以实现:在运行正常时,由于日志是根据模块需要而输出的日志,没有输出多余的日志,故可以达到节省IO资源、存储资源的效果;在运行异常时,由于日志是根据模块需要而输出的日志,故能够满足分析诊断的需求。即可以实现整个嵌入式系统在运行正常时,通过定义少量的日志输出,以达到节省IO和存储资源效果,更重要的是在嵌入式系统运行异常时,可以输出必要充足的日志,以供分析诊断。
进一步地,预设输出条件为日志信息对应的日志等级大于或等于输出等级。本申请中,日志的等级是按照所记录事件的重要程度来划分的,日志的等级越高,则其记录的事件越重要,即日志本身也越重要;而输出等级代表着,在模块中,日志的等级达到该模块的输出等级时,该日志才是需要输出的。因此,若当前日志信息对应的日志等级大于或等于输出等级,则说明当前日志信息是需要输出的,即当前日志信息对应的日志等级与输出等级的比较结果符合预设输出条件,则输出当前日志信息。
在一实施例中,本申请的日志管理方法还包括步骤:
S106:若比较结果符合预设输出条件,则对至少一个待调整模块执行输出等级的调整;其中,待调整模块为系统运行环境中的模块。
可以理解的是,在将任意模块的当前日志信息对应的日志等级与该模块的日志的输出等级进行比较,且所得到的比较结果符合预设输出条件后,除了步骤S105中提到可以输出该模块的当前日志信息之外,由于部分模块会由于自身需求原因需要对自身的输出等级进行调整,这部分模块即为待调整模块,则此时可以对至少一个待调整模块执行输出等级的调整。可以理解的是,待调整模块可以为当前系统运行环境中的当前模块,例如在当前系统运行环境中的当前模块输出的日志信息的日志等级大于当前模块的输出等级时,为了输出更多的日志信息,可以将当前模块的输出等级调低,使得更多的日志可以输出,从而具有更多的日志信息以供分析诊断使用。待调整模块也可以为当前系统运行环境中的其他模块,例如当前模块由于运行出错,输出了当前模块的日志信息,但是当前模块在当前系统运行环境中有依赖其他模块,此时需要当前模块所依赖的其他模块也输出日志信息,此时就可能需要调整该其他模块的日志输出等级。待调整模块还可以为其他系统运行环境中的当前模块或其他模块,此时,该其他系统运行环境为当前没有运行的系统运行环境,例如基于当前模块的日志等级和输出等级来调整在其他系统运行环境中的当前模块或其他模块的输出等级(例如可以根据LK运行环境中的当前模块来控制Kernel运行环境中的当前模块或其他模块的日志输出等级),或者根据当前模块调整后的输出等级,并利用关联调整策略来相应调整其他系统运行环境中的当前模块或其他模块的输出等级;在多种系统运行环境中(例如,Preloader,uboot,kernel等),由于多种系统运行环境使用过同一个模块,因此可以根据该模块输出的日志信息的情况,在多个系统运行环境切换时,传递该模块的输出等级,进而在多种运营环境之间的日志输出等级可以实现相互调整。
在一具体应用场景中,当前嵌入式系统中包括4个模块,4个模块的名称分别为M1、M2、M3、M4,4个模块自行划分的日志等级分别为N1、N2、N3、N4,4个模块设定的输出等级分别为D1、D2、D3、D4;本应用场景中,等级数字越大,其对应的日志等级越大,即日志的重要程度或紧急程度越高;可以理解的是,如果当前日志的日志等级大于或等于设定的输出等级(D)时,则输出当前日志,如果当前日志的日志等级小于设定的输出等级D时,则不输出当前日志,并且同一模块中,其日志的日志等级、设定的输出等级(D)不能大于对应的日志划分等级数(N)。请参阅图2,图2是本申请提供的日志管理方法的一应用场景的流程示意图;各模块在生成日志信息后,通过输入接口输入到日志管理模块(或日志管理系统),即日志管理模块的输入(或日志管理系统的输入),其中,日志管理模块的输入包括日志信息、日志信息所对应的模块名以及日志信息的日志等级等;在进行日志管理模块的输入后,先根据日志信息所对应的模块名检查当前日志信息属于M1、M2、M3、M4中的哪一个模块;在找到所属模块后,检查当前日志信息的日志等级是否大于或等于所属模块的输出等级(D);如果当前日志信息的日志等级小于所属模块的输出等级,则不输出当前日志信息,从而可以节省IO和存储资源;如果当前日志信息的日志等级大于或等于所属模块的输出等级,则输出当前日志信息并调整日志输出等级,可以理解的是,输出日志信息与调整日志输出等级的执行顺序是任意的,例如可以先调整日志输出等级,然后输出日志信息。另外,调整日志输出等级,可以在当前设计的日志管理模块去执行,也可以根据需要在日志管理模块之外执行,例如嵌入式系统第一次启动时,某个模块将日志输出等级设置为最低,以保证所有日志都能输出,而在运行过自检程序之后,认为该模块一切正常,此时即可将该模块的日志输出等级调高,以在保证必要的日志输出的同时,节省IO和存储资源。
进一步地,在一实施例中,上述步骤S106可以包括步骤:
S1061:若比较结果符合预设输出条件,则从至少一个待调整模块中的配置信息中获取至少一个待调整模块的调整开关信息。
S1062:若待调整模块的调整开关为开启,则对待调整模块执行输出等级的调整。
对于是否需要调整某一模块的日志输出等级,该模块可以设置是否调整日志输出等级的调整开关。可以理解的是,在将任意模块的当前日志信息对应的日志等级与该模块的日志的输出等级进行比较,且所得到的的比较结果符合预设输出条件后,由于待调整模块由于自身需求原因可能需要对自身的输出等级进行调整,此时可以从待调整模块中的配置信息中获取待调整模块的调整开关信息;若待调整模块的调整开关为开启,则可以对待调整模块的输出等级进行调整;当然,若待调整模块的调整开关为关闭,则不可以对待调整模块的输出等级进行调整,即日志管理过程结束。
在一实施例中,上述步骤S106中关于执行输出等级的调整可以包括步骤:
S1063:自动调整每个待调整模块的输出等级;或,根据用户输入信息来调整每个待调整模块的输出等级;
S1064:将调整后的输出等级更新到待调整模块的配置信息中。
本实施例中,在对待调整模块的输出等级进行调整时,可以采用自动调整或者手动调整的方式进行,即自动调整待调整模块的输出等级,或者,根据用户输入信息来调整待调整模块的输出等级;而在输出等级调整之后,则可以将调整后的输出等级更新到待调整模块的配置信息中,从而保证调整后的输出等级在嵌入式系统下次启动后可以使用。可以理解的是,在其他实施例中,也可以不将调整后的输出等级更新到待调整模块的配置信息中,即调整后的输出等级为缓存状态,在嵌入式系统下次启动后仍然使用调整前的输出等级。
进一步地,在对待调整模块的输出等级进行调整时,可以先从待调整模块的配置信息中获得待调整模块的调整方式;若调整方式为自动调整,则自动调整每个待调整模块的输出等级;若调整方式为手动调整,则根据用户输入信息来调整每个待调整模块的输出等级。
关于自动调整待调整模块的输出等级的方式,每个模块可以根据自身需求设置相应的调整策略。作为一种可实施方式,自动调整每个待调整模块的输出等级,可以包括:将待调整模块的输出等级调低,以使待调整模块的调整后的输出等级小于待调整模块的原输出等级。例如,为了输出更多的日志信息,可以将当前模块的输出等级调低,由于待调整模块的调整后的输出等级小于待调整模块的原输出等级,使得更多的日志可以输出,从而具有更多的日志信息以供分析诊断使用;或者,当前模块运行发生故障,则可以将当前模块的输出等级调低,以获取等级更低、重要性更低或者紧急程度更低的日志信息,以期望在当前模块还未发生故障时就能提前进行预警。
进一步地,将待调整模块的输出等级调低的方法,具体可以包括:获取日志信息对应的日志等级与待调整模块当前的输出等级之间的差值;将待调整模块的输出等级降低差值个等级。作为一种将待调整模块的输出等级调低的方法,在当前日志信息对应的日志等级大于或等于待调整模块当前的输出等级的基础上,若当前日志信息对应的日志等级与待调整模块当前的输出等级之间相差的等级越多,则将待调整模块的输出等级调低的等级越多。当然,在其他实施例中,也可以设置为:无论当前日志信息对应的日志等级与待调整模块当前的输出等级之间相差了几个等级,均将待调整模块的输出等级调低的1个等级。
在一具体应用场景中,上述的4个模块M1、M2、M3、M4,每个模块的日志输出等级调整的调整开关分别表示为O1,O2,O3,O4,即表示enable(开)或者disable(关),每个模块的日志输出等级调整的调整方式分别表示为T1,T2,T3,T4,支持手动与自动两种方式,每个模块的日志输出等级调整的保存方式分别表示为S1,S2,S3,S4,即表示日志输出等级修改后是否需要保存到存储器。请参阅图3,图3是本申请提供的日志管理方法中关于日志输出等级的调整方法的一应用场景的流程示意图;可以理解的是,如果当前日志的日志等级大于或等于设定的输出等级时,则输出当前日志,且可以调整日志输出等级;首先需要检查当前日志所属的模块的调整日志输出等级的调整开关,如果调整开关是disable,则不能调整日志输出等级,调整日志输出等级的流程直接结束,如果调整开关是enable,则可以继续检查当前日志所属的模块的调整日志输出等级的调整方式,可以理解的是,一般来说,调整开关的状态默认为enable,以便于在系统运行过程中对各模块的日志输出等级进行调整。若调整方式为自动调整,则该模块可以根据自身需求,实现其调整日志输出等级的策略;例如,该模块输出的当前日志的日志等级为L,可以得到当前日志的日志等级与该模块的日志输出等级之间的差值Value=L-D。此时,该模块的调整日志输出等级的策略是:当Value=0时,保持D不变,即不调整日志输出等级;当Value=1时,D的值减1,即日志输出等级下调一级,这样后面比D低一个等级的日志也可以输出了;当Value=2时,D的值减2,即日志输出等级下调二级,这样后面比D低二个等级的日志也可以输出了;当Value=3时,D的值减3,即日志输出等级下调三级,这样后面比D低三个等级的日志也可以输出了;以此类推,可以实现自动对日志输出等级进行调整。若调整方式为手动调整,则用户可以手动在线修改模块的日志输出等级D;一般地,在模块运行发生异常情况,或者操作人员有修改需求,或者在系统运行时发现自动调整方式不能满足需求时,可以手动在线修改模块的日志输出等级D。在日志输出等级进行调整之后,还需要检查此模块的日志输出等级调整的保存方式S,若为保存到存储器时,则在将调整后的日志输出等级保存到存储器后结束调整过程,若为不保存到存储器时,则直接结束调整过程。
进一步地,每个系统运行环境均设有自身运行环境中不同模块的配置信息;配置信息保存在存储器中。可以理解的是,在嵌入式系统中,每个系统运行环境的不同模块均设置有配置信息,配置信息可以包括模块名、日志等级数、日志输出等级、调整日志输出等级的调整开关、调整方式、调整保存等,配置信息均保存在存储器中。另外,在调整了某个系统运行环境中的日志输出等级等信息后,需要将调整后的信息保存到该系统运行环境对应的存储器中。以嵌入式系统为例,整个系统包括多个系统运行环境,例如Preloader,uboot,kernel等,本申请针对所有的系统运行环境的进行日志输出等级等信息的调整,即uboot可以调整Kernel层的日志输出等级,Kernel层也可反作用于uboot的日志输出等级,不只针对某个系统运行环境,可以做到统一管理所有的系统运行环境。
请参阅图4,图4是本申请提供的系统级日志管理方法的一实施例的流程示意图。本实施例中,该系统级日志管理方法应用于嵌入式系统中,嵌入式系统中的每个系统运行环境均设有自身运行环境中不同模块的配置信息,其中,系统运行环境对应的配置信息包括该系统运行环境中的模块的输出等级。另外,上述配置信息可以保存在存储器中。具体地,本实施例中的系统级日志管理方法包括以下步骤:
S401:分别为每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级。
S402:嵌入式系统启动时,在运行到每个系统运行环境时,从存储器中读取系统运行环境对应的配置信息;或者,在运行到第一个系统运行环境时,从存储器中读取出嵌入式系统中所有系统运行环境对应的配置信息。
S403:在运行一系统运行环境时,接收到该系统运行环境中一模块的日志信息以及该日志信息对应的日志等级,根据该日志等级与配置信息中该模块的输出等级之间的比较结果来对日志信息进行输出管理。
关于本实施例的步骤S402,在嵌入式系统启动过程中,可以是运行到每个环境时,才从存储器中读出当前系统运行环境对应的配置信息到内存中;请参阅图5和图6,其中,图5是图4的系统级日志管理方法的一应用场景中存储器的结构示意图,图6是图4的系统级日志管理方法的一应用场景中读取系统运行环境对应的配置信息的流程示意图,例如,在存储器50中存储有Preloader中的配置信息501、uboot中的配置信息502和kernel中的配置信息503,当嵌入式系统启动时,如图6中步骤S601至S603所示,当运行到Preloader阶段时,从存储器50中读出对应的Preloader中的配置信息501,当运行到uboot阶段时,从存储器50中读出对应的uboot中的配置信息502,而当运行到kernel阶段时,则从存储器50中读出对应的kernel中的配置信息503。当然,也可以是运行到第一个系统运行环境时,使用一段reserved memory(保留内存),将所有系统运行环境的配置信息一次性全部读到内存中。可以理解的是,本实施例中关于步骤S401和步骤S403的具体内容可以参见上述实施例中步骤S101-S105的内容。通过对嵌入式系统中的每个系统运行环境均设有自身运行环境中不同模块的配置信息,在接收到模块的日志信息以及该日志信息对应的日志等级时,可以根据配置信息中关于模块的输出等级来判断该日志信息对应的日志等级是否符合输出条件,若满足输出条件,则对该日志信息进行输出,以保证必要的日志记录,若不满足输出条件,则不对该日志信息进行输出,以节省IO资源,从而实现对日志信息进行输出管理。另外,由于对模块进行输出等级的设置,并且同一模块在不同的系统运行环境中可以具有相对应的配置信息,因此系统中的不同模块可以根据实际情况设置不同的输出等级和预设输出条件,相同模块在不同的系统运行环境中也可以根据实际情况设置不同的输出等级和预设输出条件,从而在系统的日志管理中,可以实现按模块划分,根据不同模块、不同系统运行环境的实际需求,灵活设置系统中各个模块的日志输出。
请参阅图7,图7是本申请提供的电子设备的一实施例的结构示意图。本实施例中的电子设备70包括相互耦接的处理器701和存储器702;存储器702用于存储计算机程序,及嵌入式系统中各模块的配置信息;处理器701用于运行存储器702存储的计算机程序,以运行嵌入式系统,并利用嵌入式系统中的日志系统来执行如上所述的日志管理方法,以对嵌入式系统中的各模块的日志信息进行管理。
本实施例电子设备70中的处理器701及其他部件实现具体功能内容可参阅上述方法实施例。
请参阅图8,图8是本申请提供的存储装置的一实施例的结构示意图。本申请存储装置80中存储能够被处理器运行的计算机程序800,计算机程序800用于实现如上所述的日志管理方法。该存储装置80可以是终端中的存储芯片、SD卡等可读写存储的设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、设备和装置,可以通过其它的方式实现。例如,以上所描述的设备和装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种日志管理方法,其特征在于,包括:
分别为每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级;
接收模块的日志信息以及所述日志信息对应的日志等级;
从所述模块的配置信息中获得所述模块的输出等级;
比较所述日志等级与所述输出等级,得到比较结果;
若所述比较结果符合预设输出条件,则输出所述日志信息;否则不输出所述日志信息。
2.根据权利要求1所述的方法,其特征在于,所述预设输出条件为所述日志信息对应的日志等级大于或等于所述输出等级。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述比较结果符合预设输出条件,则对至少一个待调整模块执行输出等级的调整,其中,所述待调整模块为系统运行环境中的模块。
4.根据权利要求3所述的方法,其特征在于,所述若所述比较结果符合预设输出条件,则对至少一个待调整模块执行输出等级的调整,包括:
若所述比较结果符合预设输出条件,则从所述至少一个待调整模块中的配置信息中获取所述至少一个待调整模块的调整开关信息;
若所述待调整模块的调整开关为开启,则对所述待调整模块执行输出等级的调整。
5.根据权利要求4所述的方法,其特征在于,所述执行输出等级的调整包括:
自动调整每个所述待调整模块的输出等级;或,根据用户输入信息来调整每个待调整模块的输出等级;
将调整后的输出等级更新到所述待调整模块的配置信息中。
6.根据权利要求5所述的方法,其特征在于,所述自动调整每个待调整模块的输出等级,包括:
将所述待调整模块的输出等级调低,以使所述待调整模块的调整后的输出等级小于所述待调整模块的原输出等级。
7.根据权利要求6所述的方法,其特征在于,所述将所述待调整模块的输出等级调低,以使所述待调整模块的调整后的输出等级小于所述待调整模块的原输出等级,包括:
获取所述日志信息对应的日志等级与所述待调整模块当前的输出等级之间的差值;
将所述待调整模块的输出等级降低所述差值个等级。
8.根据权利要求5所述的方法,其特征在于,所述自动调整每个所述待调整模块的输出等级;或,根据用户输入信息来调整每个待调整模块的输出等级,包括:
从所述待调整模块的配置信息中获得所述待调整模块的调整方式;
若所述调整方式为自动调整,则自动调整每个待调整模块的输出等级;
若所述调整方式为手动调整,则根据用户输入信息来调整每个待调整模块的输出等级。
9.根据权利要求1所述的方法,其特征在于,每个系统运行环境均设有自身运行环境中不同模块的配置信息;
所述配置信息保存在存储器中。
10.一种系统级日志管理方法,其特征在于,所述方法应用于嵌入式系统中,所述嵌入式系统中的每个系统运行环境均设有自身运行环境中不同模块的配置信息;所述方法包括:
分别为每个系统运行环境中的每个模块的日志等级进行划分;其中,每个模块的日志信息所对应的日志等级属于相应模块划分的日志等级;
所述嵌入式系统启动时,在运行到每个系统运行环境时,从所述存储器中读取所述系统运行环境对应的配置信息;或者,在运行到第一个系统运行环境时,从所述存储器中读取出所述嵌入式系统中所有系统运行环境对应的配置信息;其中,所述系统运行环境对应的配置信息包括所述系统运行环境中的模块的输出等级;
在运行一系统运行环境时,接收到所述系统运行环境中一模块的日志信息以及所述日志信息对应的日志等级,根据所述日志等级与所述配置信息中所述模块的输出等级之间的比较结果来对所述日志信息进行输出管理。
11.一种电子设备,其特征在于,包括相互耦接的处理器和存储器;
所述存储器用于存储计算机程序,及所述嵌入式系统中各模块的配置信息;
所述处理器用于运行所述计算机程序,以运行嵌入式系统,并利用所述嵌入式系统中的日志系统来执行权利要求1-10任一项所述的方法,以对所述嵌入式系统中的各模块的日志信息进行管理。
12.一种存储装置,其特征在于,存储能够被处理器运行的计算机程序,所述计算机程序用于实现权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115422.2A CN112799922A (zh) | 2019-11-14 | 2019-11-14 | 一种日志管理方法、电子设备和存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115422.2A CN112799922A (zh) | 2019-11-14 | 2019-11-14 | 一种日志管理方法、电子设备和存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112799922A true CN112799922A (zh) | 2021-05-14 |
Family
ID=75803913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911115422.2A Pending CN112799922A (zh) | 2019-11-14 | 2019-11-14 | 一种日志管理方法、电子设备和存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799922A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116523A (zh) * | 2022-01-28 | 2022-03-01 | 广东睿江云计算股份有限公司 | 一种框架调试方法以及框架调试系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391355A (zh) * | 2017-07-25 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种控制内核模块日志输出的方法与装置 |
CN109656786A (zh) * | 2018-12-27 | 2019-04-19 | 天弘基金管理有限公司 | 日志获取方法及装置 |
-
2019
- 2019-11-14 CN CN201911115422.2A patent/CN112799922A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391355A (zh) * | 2017-07-25 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种控制内核模块日志输出的方法与装置 |
CN109656786A (zh) * | 2018-12-27 | 2019-04-19 | 天弘基金管理有限公司 | 日志获取方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116523A (zh) * | 2022-01-28 | 2022-03-01 | 广东睿江云计算股份有限公司 | 一种框架调试方法以及框架调试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8661306B2 (en) | Baseboard management controller and memory error detection method of computing device utilized thereby | |
US7870405B2 (en) | Method of controlling power consumption of a memory according to mapping | |
US20130132340A1 (en) | File synchronization method, electronic device and synchronization system | |
CN108351840B (zh) | 车辆控制装置 | |
CN110427258A (zh) | 基于云平台的资源调度控制方法及装置 | |
US20150186059A1 (en) | Memory management program, memory management method, and memory management device | |
CN103455288B (zh) | 信息处理装置及控制方法 | |
CN112799922A (zh) | 一种日志管理方法、电子设备和存储装置 | |
CN117632570A (zh) | 基于多核异构soc的多操作系统诊断方法、装置和系统 | |
CN110764962A (zh) | 日志处理方法和装置 | |
JP4920567B2 (ja) | 設備機器ネットワークシステムおよびデータアクセス制御方法 | |
US8266541B2 (en) | Message window display control apparatus, method, and program product | |
CN102904946B (zh) | 集群内节点管理方法和装置 | |
JP6583942B1 (ja) | Bmc、判定方法及びbmcファームウェア | |
JP2018180982A (ja) | 情報処理装置、およびログ記録方法 | |
US20200192776A1 (en) | Server structure, a method of resource aggregation and a method for obtaining sensor data of a server | |
US20090271599A1 (en) | Method for setting to enable or disable software function | |
CN112328287B (zh) | 嵌入式设备系统更新方法、装置、设备及存储介质 | |
CN115604286A (zh) | 节点主备状态信息同步的方法、装置、设备及存储介质 | |
CN114036164A (zh) | 一种乐观锁和悲观锁组合的高并发交易加锁方法及系统 | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享系统及方法 | |
CN112783789A (zh) | 一种适配测试方法、设备及计算机可读存储介质 | |
CN106599046B (zh) | 分布式文件系统的写入方法及装置 | |
US10009422B1 (en) | Backup management based on client device statuses | |
CN116701544B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210514 |