CN115390928A - 一种日志输出方法、装置、设备及存储介质 - Google Patents
一种日志输出方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115390928A CN115390928A CN202210445301.XA CN202210445301A CN115390928A CN 115390928 A CN115390928 A CN 115390928A CN 202210445301 A CN202210445301 A CN 202210445301A CN 115390928 A CN115390928 A CN 115390928A
- Authority
- CN
- China
- Prior art keywords
- log
- output
- operation mode
- level
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 20
- 239000000758 substrate Substances 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 11
- 206010063385 Intellectualisation Diseases 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 241001676573 Minium Species 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种日志输出方法、装置、设备及存储介质,应用于基本输入输出系统,涉及服务器管理技术领域。该方法包括:在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。通过本申请的技术方案,可以灵活控制日志的收集,解决了传统方案中日志收集效率低的问题。
Description
技术领域
本发明涉及服务器管理技术领域,特别涉及一种日志输出方法、装置、设备及存储介质。
背景技术
现阶段的服务器设计中,随着服务器的更加微型化和智能化,BIOS(Basic InputOutput System,基本输入输出系统)在完成引导服务器开机和设定满足客户性能的要求已经不能满足人们对智能化的追求,但是在BIOS的智能化的同时,也出现了越来越多的问题,于是就需要更加方便高效的定位原因的手段。现有技术方案中,AMI(AMI公司出品的BIOS系统软件)有提供日志(log)输出模块,是由DEBUG_MODE这个Token(令牌)来控制日志的输出的,通过设定不同的Token控制不同部分功能的日志的输出,例如通过设定AmdABLDebug_Select来控制AMD CPU(Central Processing Unit/Processor,中央处理器)内部相应功能的日志输出,通过设定AmdIdsDebug_SUPPORT来控制AMD IDS(Intrusion DetectionSystems,入侵检测系统)日志的输出;当打开DEBUG_MODE这个开关并选定输出CPU日志的通用异步收发传输器(UART,Universal Asynchronous Receiver/Transmitter),即可在通过串口线接上主板的UART来抓取BIOS的开机和日志,从而可以让客户自己选择相应功能日志的输出。
但是原有AMI日志输出方案存在以下问题:1)打开DEBUG_MODE收集日志方式需要外接PC(Personal Computer,个人计算机)设备直连服务器主板上的UART接口,大多情况下PC设备并不能灵活带入实验室,所以日志的收集很不方便,同时也不利于实验室保密性的管理,并且由于服务器本身的噪声比较大,对人体的健康也会有一定的危害,并且直连抓取日志的方式也很容易受硬件主板的质量以及UART的硬件完善性的影响,对外界因素的改变很敏感;2)AMI的日志收集方案需要在收集日志的时候重新编译代码,生成一版的debug(BIOS问题定位原因方式)版的BIOS版本,不利于发布给客户的BIOS版本管理,同时也不能实现即时debug的需求,严重影响了分析问题、收集日志的效率;3)由于日志的输出会影响机器的开机时长,BIOS日志输出的越多,机器的开机时长就越长,当打开日志收集开关后,需要浪费很多时间等待机器的开机,并且AMI的日志收集方案不能灵活控制BIOS日志的收集,即无法控制日志收集的等级,过于死板。
综上,如何解决日志收集不方便、效率低,同时灵活控制日志的收集等级是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种日志输出方法、装置、设备及存储介质,能够解决日志收集不方便、效率低,同时灵活控制日志的收集等级。其具体方案如下:
第一方面,本申请公开了一种日志输出方法,应用于基本输入输出系统,包括:
在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;
如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;
如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。
可选的,所述确定日志输出的操作方式之前,还包括:
向所述基本输入输出系统中预先已配置的设置选项中添加用于调节所述日志输出等级的菜单,并确定所述菜单中所有所述日志输出等级的等级类型;
为不同的所述等级类型设置相应的所述预设选项值,以便所述操作方式为所述第一操作方式时,通过所述预设选项值确定与所述等级类型对应的所述输出日志。
可选的,所述修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值之后,还包括:
判断是否保存修改后的预设选项值并选择重启;
如果保存所述修改后的预设选项值并选择重启,则触发所述通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志的步骤;
如果没有保存所述修改后的预设选项值并选择重启,则继续执行所述修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值的步骤,直到所述基本输入输出系统保存当前修改后的预设选项值并选择重启。
可选的,所述的日志输出方法,还包括:
利用预设规则代码确定出与修改后的预设选项值对应的路径信息;
编译与所述路径信息对应的相关代码,以确定出与所述日志输出等级对应的所述输出日志。
可选的,所述编译与所述路径信息对应的相关代码,以确定出与所述日志输出等级对应的所述输出日志之后,还包括:
将所述输出日志暂存到预设存储芯片中,以便所述基板管理控制器的预置接口输出所述预设存储芯片中的所述输出日志。
可选的,所述利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志,包括:
确定所述基板管理控制器提供的智能平台管理接口工具的文件路径;
根据所述基板管理控制器的命令利用所述文件路径内的智能平台管理接口命令直接调节所述日志输出等级,并判断是否输出日志,以根据判断结果输出与所述日志输出等级对应的输出日志。
可选的,所述的日志输出方法,还包括:
将所述日志输出等级通知所述基板管理控制器,以便所述基板管理控制器将提供的通用输入/输出口设置为与所述输出等级对应的组合方式;其中,所述通用输入/输出口以8421码的形式进行组合。
第二方面,本申请公开了一种日志输出装置,应用于基本输入输出系统,包括:
操作方式确定模块,用于在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;
第一操作方式模块,用于如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;
第二操作方式模块,用于如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。
第三方面,本申请公开了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的日志输出方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的日志输出方法。
本申请中,应用于基本输入输出系统,首先在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器(Baseboard Manager Controller,简称BMC)的预置接口输出与所述日志输出等级对应的输出日志;如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。可见,本申请提供两种日志输出的操作方式,当操作方式为第一操作方式时,修改基本输入输出系统上添加的用于调节日志输出等级的预设选项值,在原有AMI的代码上进行了改进,完善了日志输出的多等级智能化功能,使基本输入输出系统的日志更加方便的输出,提高了基本输入输出系统日志输出的效率,然后借助基板管理控制器实现了与日志输出等级对应日志的输出,摆脱了对Nvram variable(Non-Volatile Random AccessMemory variable,非易失性随机访问存储器变量)的依赖,大大减小了Nvram variable这部分的压力;当操作方式为第二操作方式时,可以通过智能平台管理接口工具(ipmitool.exe)根据基板管理控制器的命令直接调节日志输出等级,方便快捷。上述的两种操作方式相对于传统的AMI的日志输出方案简单方便了很多,减小了外部设备和主观因素的影响,提高了日志分析效率,同时依据基板管理控制器实现基本输入输出系统的日志输出,提高了基本输入输出系统的智能化,操作者可以根据自己的需求方便快捷的获取不同等级的日志输出。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种日志输出方法流程图;
图2为本申请公开的一种IPMI命令调节日志输出等级示意图;
图3为本申请公开的一种具体的日志输出方法流程图;
图4为本申请公开的一种Setup下调整日志输出等级示意图;
图5为本申请公开的一种日志输出装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,在现阶段的服务器设计中,原有基本输入输出系统的日志输出方案存在1)日志收集很不方便的问题;2)日志收集方案的效率很低的问题;3)日志收集方案不能灵活控制日志的收集,过于死板的问题。
为此,本申请提供了一种日志输出方案,能够解决日志收集不方便、效率低,同时灵活控制日志的收集等级。
本发明实施例公开了一种日志输出方法,参见图1所示,该方法包括:
步骤S11:在所述基本输入输出系统的启动过程中,确定日志输出的操作方式。
本申请实施例中,当机器上电,即在基本输入输出系统启动的过程中,确定出具体采用什么操作方式进行日志的输出,如此一来,可以让客户自己选择相应功能日志的输出。
步骤S12:如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志。
本申请实施例中,第一操作方式为在基本输入输出系统中增加用于调节所述日志的日志输出等级的预设选项值,可以理解的是,该预设选项值是在确定日志输出的操作方式之前就已经设置好的。具体的:向所述基本输入输出系统中预先已配置的设置选项中添加用于调节所述日志输出等级的菜单,并确定所述菜单中所有所述日志输出等级的等级类型;为不同的所述等级类型设置相应的所述预设选项值,以便所述操作方式为所述第一操作方式时,通过所述预设选项值确定与所述等级类型对应的所述输出日志。
示例性的,以一种具体的实施方式对上述步骤进行说明。在BIOS Setup(设置选项)中增加了一个System Debug Configuration菜单,提供选项Serial Debug MessageLevel支持Debug模式打开关闭。选项值为Disabled、Minimum、Normal和Maximum,默认值Disabled。设定其Call Back Function:当选项值为Disabled时,设定CMOS 0x4A=0,System Debug Level=Disabled;当选项值为Minimum时,设定CMOS 0x4A=1,SystemDebug Level=Minimum;当选项值为Normal时,设定CMOS 0x4A=2,System Debug Level=Normal;当选项值为Maximum时,设定CMOS 0x4A=3,System Debug Level=Maximum。需要指出的是,这个设置变量在非常早的阶段就需要访问,这时NVRAM Variable还无法访问,并且这个变量要在UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)各个阶段保持一致,使用CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体,是电脑主板上的一块可读写的RAM芯片)暂时存储这个变量实现就相对简单很多。另外,Debug在本实施例中是一种高效的BIOS问题定位原因方式。
本申请实施例中,在基本输入输出系统的启动过程中,其PEI(pre-efiinitialization,预EFI初始化)阶段和DXE(driver execution environment,驱动程序执行环境)阶段会通过读取CMOS 0X4A的值,来判断客户需要的debug的level等级是多少,然后设置debug的level等级。当在确定当前要输出的日志等级的过程中,会利用预设规则代码确定出与修改后的预设选项值对应的路径信息(trace),例如,通过客户设置的等级与默认值做相与的运算,来判断是否运行相应路径信息的代码,如果是则跑相应的Trace信息,也即,编译与所述路径信息对应的相关代码,以确定出与所述日志输出等级对应的所述输出日志。
进一步的,当确定出与日志输出等级对应的输出日志之后,将所述输出日志暂存到预设存储芯片中,以便所述基板管理控制器的预置接口输出所述预设存储芯片中的所述输出日志。例如,在跑相应的Trace信息之后抓取对应的输出日志暂时存储到CMOS中,如此一来,基板管理控制器就可以将暂存在CMOS中的输出日志利用预置接口进行输出。
可以理解的是,目前基板管理控制器普遍配备SOL(Serial Over Lan),所以基板管理控制器的预置接口可以是SOL,也即,通过BMC的SOL输出与日志输出等级对应的输出日志的日志内容。本实施例中仅以基板管理控制器中的预置接口具体为SOL为例进行介绍,其他形式的接口均可参照本实施例的介绍,在此不再赘述。
步骤S13:如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。
本申请实施例中,第二操作方式为在基本输入输出系统启动的过程中,利用智能平台管理接口工具中的智能平台管理接口命令(Intelligent Platform ManagementInterface,IPMI)直接通过基板管理控制器调节日志输出等级。具体的,所述利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志,包括:确定所述基板管理控制器提供的智能平台管理接口工具的文件路径;根据所述基板管理控制器的命令利用所述文件路径内的智能平台管理接口命令直接调节所述日志输出等级,并判断是否输出日志,以根据判断结果输出与所述日志输出等级对应的输出日志。
如图2所示,为利用IPMI命令调节Debug日志输出等级流程图,在机器上电以后,可以在Linux环境下通过确定BMC提供的ipmitool.exe的文件路径,进入Ipmitool工具夹文件,然后通过IPMI命令直接调节日志输出等级,并判断是否确定输出相应日志,可以理解的是,如果是,则客户在要查看相应的输出日志时,通过BMC利用IPMI命令打开SOL输出日志,然后在相应的文件中找到输出日志的记录。
另外,本申请实施例中,BMC会提供两个GPIO(General Purpose I/O Ports,通用输入/输出口)用来指示BIOS开启和调整BIOS的Debug模式,两个GPIO的组合符合8421码的生成方式。当通过IPMI命令或者新增的Setup上修改预设选项值的debug分级命令修改日志的等级后,来通知BMC需要设置GPIO的组合方式,从而BMC控制想要输出的log日志内容。例如:00表示CMOS 0x4A=0,即此时Debug等级为Disabled,01表示CMOS 0x4A=1,即此时Debug等级为Minimum,10表示CMOS 0x4A=2,即此时的Debug等级为Normal,11表示CMOS0x4A=3,即此时的Debug等级为Maximum。
本申请中,应用于基本输入输出系统,首先在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。可见,本申请提供两种日志输出的操作方式,当操作方式为第一操作方式时,修改基本输入输出系统上添加的用于调节日志输出等级的预设选项值,在原有AMI的代码上进行了改进,完善了日志输出的多等级智能化功能,使基本输入输出系统的日志更加方便的输出,提高了基本输入输出系统日志输出的效率,然后借助基板管理控制器实现了与日志输出等级对应日志的输出,摆脱了对Nvramvariable的依赖,大大减小了Nvram variable这部分的压力;当操作方式为第二操作方式时,可以通过智能平台管理接口工具根据基板管理控制器的命令直接调节日志输出等级,方便快捷。上述的两种操作方式相对于传统的AMI的日志输出方案简单方便了很多,减小了外部设备和主观因素的影响,提高了日志分析效率,同时依据基板管理控制器实现基本输入输出系统的日志输出,提高了基本输入输出系统的智能化,操作者可以根据自己的需求方便快捷的获取不同等级的日志输出。
本申请实施例公开了一种具体的日志输出方法,参见图3所示,该方法包括:
步骤S21:在所述基本输入输出系统的启动过程中,确定日志输出的操作方式。
其中,关于上述步骤S21更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S22:如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,并判断是否保存修改后的预设选项值并选择重启。
本申请实施例中,因为用于调节日志的输出等级的预设选项值都是提前设置好的,所以,在调节完基本输入输出系统内的日志输出等级后,判断是否保存修改后的预设选项值并选择重启。可以理解的是,当保存修改后的预设选项值并选择重启之后,打开SOL即可看到相应等级的输出日志。
步骤S23:如果保存所述修改后的预设选项值并选择重启,则触发所述通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志的步骤。
本申请实施例中,如果保存修改后的预设选项值并选择重启,通过BMC的SOL即可以输出需要的日志内容。
步骤S24:如果没有保存所述修改后的预设选项值并选择重启,则继续执行所述修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值的步骤,直到所述基本输入输出系统保存当前修改后的预设选项值并选择重启。
本申请实施例中,如果没有保存所述修改后的预设选项值并选择重启,则可以继续修改预设选项值,直到确定要调整的日志输出等级,并将日志进行输出。
示例性的,如图4所示,为Setup下调整Debug日志输出等级流程图,当操作者需要在Setup上调节Debug日志的输出等级时,可以在Advanced下找到System DebugConfiguration,然后在其中可以看到Serial Debug Message Level选项,通过修改其选项值为我们需要的Debug等级即可实现,然后通过BMC的sol输出我们需要的日志内容即可。
步骤S25:如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。
其中,关于上述步骤S25更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
下面以部分相应代码的设计为例,对本方案的实现进一步进行说明。
1.BIOS增加一个Oem Log Level的Module,用于实现该需求,涉及文件如下:
\InspurBoardPkg\Oemloglevel\Oemlogleveldxelib\Oemlogleveldxelib.c
\InspurBoardPkg\Oemloglevel\Oemloglevelpeiinit\Oemloglevelpeiinit.c
\InspurBoardPkg\Oemloglevel\Oemloglevelpeiinit\Oemloglevelpeiinit.inf
\InspurBoardPkg\Oemloglevel\Oemloglevelpeilib\Oemloglevelpeilib.c
\InspurBoardPkg\Oemloglevel\Oemloglevel.c
\InspurBoardPkg\Oemloglevel\Oemloglevel.sd
\InspurBoardPkg\Oemloglevel\Oemloglevel.sdl
\InspurBoardPkg\Oemloglevel\Oemloglevel.uni
2.定义Token:
LOG_LEVEL_DISABLE=0X0,LOG_LEVEL_MIN=0x00000046,Token:LOG_LEVEL_NORMAL=0x80000046,LOG_LEVEL_MAX=0x804000C6,用来设置debug打印的等级。
3.定义CMOS 0x4a用来存储debug打印的等级,value=0,System Debug Level=Disabled,value=1,System Debug Level=Minimum,value=2,System Debug Level=Normal,value=3,System Debug Level=Maximum。
4.PEI阶段,Oemloglevelpeiinit.c中OemLogLevelPeiInitEntry函数实现读取BMC GPIO设置及System Debug Level变量,设置CMOS 0x4A值。
EFI_STATUS EFIAPI OemLogLevelPeiInitEntry(
IN EFI_PEI_FILE_HANDLE FileHandle,
IN CONST EFI_PEI_SERVICES**PeiServices)
PEI阶段,Oemloglevelpeilib.c中读取CMOS 0x4a寄存器的值,设置level等级。
GetDebugPrintErrorLevel(
VOID
)
5.DXE阶段,Oemlogleveldxelib.c中读取CMOS 0x4a寄存器的值,设置level等级。
GetDebugPrintErrorLevel(
VOID
)
6.DebugLib.c中DebugPrint()函数会判断当前ErrorLevel会和GetDebugPrintErrorLevel()相与判断是否要打印Trace信息。
VOID
EFIAPI
DebugPrint(
IN UINTN ErrorLevel,
IN CONST CHAR8*Format,
...
)
{
…
if((ErrorLevel&GetDebugPrintErrorLevel())==0){
return;
}
…
}
本申请中,应用于基本输入输出系统,首先在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,并判断是否保存修改后的预设选项值并选择重启;如果保存所述修改后的预设选项值并选择重启,则触发所述通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志的步骤;如果没有保存所述修改后的预设选项值并选择重启,则继续执行所述修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值的步骤,直到所述基本输入输出系统保存当前修改后的预设选项值并选择重启;如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。可见,本申请提供两种日志输出的操作方式,当操作方式为第一操作方式时,修改基本输入输出系统上添加的用于调节日志输出等级的预设选项值,在原有AMI的代码上进行了改进,完善了日志输出的多等级智能化功能,使基本输入输出系统的日志更加方便的输出,提高了基本输入输出系统日志输出的效率,然后借助基板管理控制器实现了与日志输出等级对应日志的输出,摆脱了对Nvram variable的依赖,大大减小了Nvram variable这部分的压力;当操作方式为第二操作方式时,可以通过智能平台管理接口工具根据基板管理控制器的命令直接调节日志输出等级,方便快捷。上述的两种操作方式相对于传统的AMI的日志输出方案简单方便了很多,减小了外部设备和主观因素的影响,提高了日志分析效率,同时依据基板管理控制器实现基本输入输出系统的日志输出,提高了基本输入输出系统的智能化,操作者可以根据自己的需求方便快捷的获取不同等级的日志输出。
相应的,本申请实施例还公开了一种日志输出装置,参见图5所示,该装置包括:
操作方式确定模块11,用于在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;
第一操作方式模块12,用于如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;
第二操作方式模块13,用于如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,通过本实施例的上述方案,应用于基本输入输出系统,首先在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。可见,本申请提供两种日志输出的操作方式,当操作方式为第一操作方式时,修改基本输入输出系统上添加的用于调节日志输出等级的预设选项值,在原有AMI的代码上进行了改进,完善了日志输出的多等级智能化功能,使基本输入输出系统的日志更加方便的输出,提高了基本输入输出系统日志输出的效率,然后借助基板管理控制器实现了与日志输出等级对应日志的输出,摆脱了对Nvram variable的依赖,大大减小了Nvram variable这部分的压力;当操作方式为第二操作方式时,可以通过智能平台管理接口工具根据基板管理控制器的命令直接调节日志输出等级,方便快捷。上述的两种操作方式相对于传统的AMI的日志输出方案简单方便了很多,减小了外部设备和主观因素的影响,提高了日志分析效率,同时依据基板管理控制器实现基本输入输出系统的日志输出,提高了基本输入输出系统的智能化,操作者可以根据自己的需求方便快捷的获取不同等级的日志输出。
进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的日志输出方法中的相关步骤。另外,本实施例中的电子设备20具体可以为X86架构的服务器产品。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,数据223可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的日志输出方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述日志输出方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的日志输出或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种日志输出方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种日志输出方法,其特征在于,应用于基本输入输出系统,包括:
在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;
如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;
如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。
2.根据权利要求1所述的日志输出方法,其特征在于,所述确定日志输出的操作方式之前,还包括:
向所述基本输入输出系统中预先已配置的设置选项中添加用于调节所述日志输出等级的菜单,并确定所述菜单中所有所述日志输出等级的等级类型;
为不同的所述等级类型设置相应的所述预设选项值,以便所述操作方式为所述第一操作方式时,通过所述预设选项值确定与所述等级类型对应的所述输出日志。
3.根据权利要求1所述的日志输出方法,其特征在于,所述修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值之后,还包括:
判断是否保存修改后的预设选项值并选择重启;
如果保存所述修改后的预设选项值并选择重启,则触发所述通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志的步骤;
如果没有保存所述修改后的预设选项值并选择重启,则继续执行所述修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值的步骤,直到所述基本输入输出系统保存当前修改后的预设选项值并选择重启。
4.根据权利要求1所述的日志输出方法,其特征在于,还包括:
利用预设规则代码确定出与修改后的预设选项值对应的路径信息;
编译与所述路径信息对应的相关代码,以确定出与所述日志输出等级对应的所述输出日志。
5.根据权利要求4所述的日志输出方法,其特征在于,所述编译与所述路径信息对应的相关代码,以确定出与所述日志输出等级对应的所述输出日志之后,还包括:
将所述输出日志暂存到预设存储芯片中,以便所述基板管理控制器的预置接口输出所述预设存储芯片中的所述输出日志。
6.根据权利要求1所述的日志输出方法,其特征在于,所述利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志,包括:
确定所述基板管理控制器提供的智能平台管理接口工具的文件路径;
根据所述基板管理控制器的命令利用所述文件路径内的智能平台管理接口命令直接调节所述日志输出等级,并判断是否输出日志,以根据判断结果输出与所述日志输出等级对应的输出日志。
7.根据权利要求1至6任一项所述的日志输出方法,其特征在于,还包括:
将所述日志输出等级通知所述基板管理控制器,以便所述基板管理控制器将提供的通用输入/输出口设置为与所述输出等级对应的组合方式;其中,所述通用输入/输出口以8421码的形式进行组合。
8.一种日志输出装置,其特征在于,应用于基本输入输出系统,包括:
操作方式确定模块,用于在所述基本输入输出系统的启动过程中,确定日志输出的操作方式;
第一操作方式模块,用于如果所述操作方式为第一操作方式,则修改所述基本输入输出系统内用于调节所述日志的日志输出等级的预设选项值,然后通过基板管理控制器的预置接口输出与所述日志输出等级对应的输出日志;
第二操作方式模块,用于如果所述操作方式为第二操作方式,则利用智能平台管理接口工具根据所述基板管理控制器的命令直接调节所述日志输出等级,并输出与所述日志输出等级对应的所述输出日志。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的日志输出方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的日志输出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210445301.XA CN115390928A (zh) | 2022-04-26 | 2022-04-26 | 一种日志输出方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210445301.XA CN115390928A (zh) | 2022-04-26 | 2022-04-26 | 一种日志输出方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115390928A true CN115390928A (zh) | 2022-11-25 |
Family
ID=84115521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210445301.XA Pending CN115390928A (zh) | 2022-04-26 | 2022-04-26 | 一种日志输出方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115390928A (zh) |
-
2022
- 2022-04-26 CN CN202210445301.XA patent/CN115390928A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8862709B2 (en) | Remote management of boot application | |
US8468342B2 (en) | Computer system and method for performing integrity detection on the same | |
US7694125B2 (en) | System and method of booting an operating system in an optimal performance state | |
US20020099934A1 (en) | Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server | |
US20080126584A1 (en) | System and Method for Receiving Control Commands at a Peripheral Device | |
WO2004088515A1 (en) | Portable operating system and method to load the same | |
TW201248495A (en) | Voice control system and method thereof | |
CN111124508A (zh) | 一种调整网卡pxe启动顺序的方法和装置 | |
CN114428951B (zh) | 网络文件系统访问权限的控制方法及装置 | |
US9411602B2 (en) | Techniques for booting an information processing system | |
CN111580876A (zh) | 应用程序的控制方法、系统及终端 | |
US11544414B2 (en) | Secure wake-on of a computing device | |
WO2012003775A1 (zh) | 控制方法、控制装置及终端 | |
CN115390928A (zh) | 一种日志输出方法、装置、设备及存储介质 | |
CN115495161B (zh) | Bios选项修改的生效方法和装置、存储介质 | |
Cisco | Command-Line Interfaces | |
Cisco | Command-Line Interfaces | |
Cisco | Command-Line Interfaces | |
Cisco | Command-Line Interfaces | |
Cisco | Command-Line Interfaces | |
CN100419682C (zh) | 一种计算机快速启动的系统及方法 | |
US6535933B1 (en) | Information processing system device control method, information processing system device and software storage medium | |
CN112882759A (zh) | 一种控制方法、装置及电子设备 | |
KR100463838B1 (ko) | 유아이에이 시스템을 위한 부트로더의 프로그램 다운로드및 엔에프에스 개발환경 지원방법 | |
CN111142949A (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 |