日志打印方法、电子设备以及存储介质技术

技术编号:38380584 阅读:5 留言:0更新日期:2023-08-05 17:39
本申请提供了日志打印方法、电子设备以及存储介质,涉及电子设备技术领域。该日志打印方法可以在程序的源代码中插入每个日志打印代码块的管控代码,并且管控代码先于日志打印代码块执行。如此,当用户使用的电子设备运行编译后的程序时,会在日志打印代码块执行之前,先执行管控代码,由管控代码判断是否需要打印日志。当判断不需要打印日志时,就可以直接跳过日志打印代码块的执行,从而避免调用日志打印代码块中的逻辑判断函数以及执行大量的字符串拼接指令,以避免多余的功耗开销,从而提升电子设备的性能。而提升电子设备的性能。而提升电子设备的性能。

【技术实现步骤摘要】
日志打印方法、电子设备以及存储介质


[0001]本申请涉及电子设备
,尤其涉及一种日志打印方法、电子设备以及存储介质。

技术介绍

[0002]在终端设备的程序开发阶段,比如Java程序的开发阶段,开发人员在开发一些功能时,为了分析和定位功能开发过程中遇到的问题,会在Java程序的源代码中添加大量的日志打印代码块(指包括至少一行日志打印代码的代码块),以通过执行日志打印代码块打印相应的日志,然后依据打印的日志对Java程序进行调试。在程序开发完成之后,开发人员会对Java程序进行编译,并将编译后的Java程序移植到用户的手机上进行运行,以实现相应的功能。
[0003]用户在使用手机时,不需要像开发人员一样分析定位技术问题,也就没有日志打印的需求。但是,用户使用的Java程序仍然是开发人员开发的版本,如前所述,该版本中Java程序的源代码被添加了大量的日志打印代码块。这样,用户的手机在运行Java程序的过程中会执行大量的日志打印代码块,造成多余的功耗开销,从而影响手机的性能。

技术实现思路

[0004]本申请的一些实施方式提供了一种日志打印方法、电子设备以及计算机可读存储介质,以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。
[0005]第一方面,本申请提供了一种日志打印方法,用于电子设备,方法包括:运行第一程序;检测到第一程序运行过程中产生的第一事件;基于第一事件对应的打印程序的管控信息确定是否打印第一事件;对应于管控信息为第一管控信息时,确定不打印第一事件。
[0006]其中,本申请提及的程序可以是Java程序,第一事件可以是日志,打印程序可以是打印代码块,管控信息可以是管控代码。管控代码可以包括逻辑判断函数,逻辑判断函数可以包括第一标记,第一管控信息可以是第一标记对应的逻辑值为第一值时的管控信息。
[0007]根据本申请实施方式,电子设备运行程序的过程中,在检测到该程序运行过程中产生的事件时,可以基于事件对应的打印程序的管控信息确定是否打印该事件。例如,当管控信息为第一管控信息时,可以直接不打印该事件,即不执行该事件对应的打印程序。如此,可以避免多余的功耗,从而提升电子设备的性能。
[0008]在一些实施例中,管控信息包括逻辑判断函数,逻辑判断函数包括第一标记,第一标记的逻辑值表征是否执行打印程序;打印程序用于打印第一事件;第一管控信息为第一标记对应的逻辑值为第一值时的管控信息。
[0009]其中,本申请提及的第一标记可以是管控代码中的变量参数,逻辑值可以为第一值或第二值,第一值可以是False,第二值可以是True。
[0010]根据本申请实施方式,可以通过设置第一标记的逻辑值,对日志的打印进行管控。例如,在第一标记的逻辑值为第一值时,程序运行时基于第一标记的逻辑值为第一值,确定
不打印事件,也就不执行打印程序,从而避免多余的功耗开销。
[0011]在一些实施例中,第一标记用于指示打印程序打印第一事件的级别。
[0012]根据本申请实施方式,由于第一标记可以指示日志的级别,这样可以通过设置第一标记的逻辑值,对各个级别的日志进行管控,使得程序在运行中仅打印某些级别的日志,以满足后续程序维护时,需要打印某些级别的日志的需求。
[0013]在一些实施方式中,管控信息还包括起始符和结束符,逻辑判断函数和起始符位于打印程序对应的打印代码块的前面;结束符位于打印代码块的后面。
[0014]其中,打印代码块可以是日志打印代码块。
[0015]根据本申请实施方式,逻辑判断函数、起始符和结束符构成完整了的管控代码,并且,逻辑判断函数和起始符位于打印代码块的前面,这样管控代码就会先于打印代码块执行,从而可以在执行到打印代码块之前,判断是否执行打印代码块。
[0016]在一些实施方式中,逻辑判断函数、起始符和打印代码块的起始语句位于同一代码行;结束符和打印代码块的结束语句位于同一代码行。
[0017]根据本申请实施方式,管控代码是在程序开发完成之后插入到程序的源代码中的。在插入时,让逻辑判断函数、起始符和打印代码块的起始语句处于同一代码行,以及让结束符和打印代码块的结束语句位于同一代码行,可以保持程序中各个代码的行号不变,从而不影响后续分析时对代码的定位。
[0018]在一些实施方式中,对应于管控信息为第一管控信息时,确定不打印第一事件,包括:对应于管控信息为第一管控信息时,确定不执行打印程序。
[0019]根据本申请实施方式,当管控代码中逻辑判断函数的变量参数被设置为False时,表示不需要打印日志。电子设备运行程序时,可以直接跳过日志打印代码块,无需执行字符串的拼接指令,从而避免出现多余的功耗,提升电子设备的性能。
[0020]在一些实施方式中,方法还包括:对应于管控信息为第二管控信息时,执行打印程序,以确定是否打印第一事件。
[0021]在一些实施方式中,执行打印程序,以确定是否打印第一事件,包括:判断打印程序打印第一事件的级别是否高于或等于预设级别;若是,则打印第一事件;若否,则不打印第一事件。
[0022]第二方面,本申请实施方式提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;处理器,当处理器执行存储器中的指令时,可使得电子设备执行本申请第一方面所述的方法。第二方面能达到的有益效果可参考第一方面任一实施方式所提供的方法的有益效果,此处不再赘述。
[0023]第三方面,本申请实施方式提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,该指令在计算机上执行时可使计算机执行第一方面任一实施方式所述的方法。第三方面能达到的有益效果可参考第一方面任一实施方式所提供的方法的有益效果,此处不再赘述。
附图说明
[0024]图1为本申请实施例的示例性应用场景;图2为一些实施例提供的日志打印代码的示例图;
图3为本申请实施例提供的插入管控代码的流程示例图;图4为本申请实施例提供的管控代码的示例图一;图5为本申请实施例提供的管控代码的示例图二;图6为本申请实施例提供的日志打印方法的流程示意图;图7为本申请实施例提供的程序编译的流程示例图;图8为一些实施例提供的未插入管控代码时手机打印日志的原理示例图;图9为本申请实施例提供的插入管控代码后手机打印日志的原理示例图;图10为本申请实施例提供的日志管控级别的设置原理示例图;图11为本申请实施例的版本构建的流程示例图;图12示出了本申请实施例提供的日志插桩工具插入管控代码的流程示例图;图13示出了本申请实施例提供的电子设备的构造示意图。
具体实施方式
[0025]本申请实施方式用于提供一种日志打印方法。通过本申请提供的方法,可以提升电子设备的性能。
[0026]图1示出了本申请的示例性应用场景。参考图1,为了满足一些功能需求,开发人员可以在计算机10上开发程序,例如,Java程序。在Java程序开发完成之后,可以将编译后的Java程序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志打印方法,用于电子设备,其特征在于,所述方法包括:运行第一程序;检测到所述第一程序运行过程中产生的第一事件;基于所述第一事件对应的打印程序的管控信息确定是否打印所述第一事件;对应于所述管控信息为第一管控信息时,确定不打印所述第一事件。2.根据权利要求1所述的方法,其特征在于,所述管控信息包括逻辑判断函数,所述逻辑判断函数包括第一标记,所述第一标记的逻辑值表征是否执行所述打印程序;所述打印程序用于打印所述第一事件;所述第一管控信息为所述第一标记对应的逻辑值为第一值时的管控信息。3.根据权利要求2所述的方法,其特征在于,所述第一标记用于指示所述打印程序打印所述第一事件的级别。4.根据权利要求2所述的方法,其特征在于,所述管控信息还包括起始符和结束符,所述逻辑判断函数和所述起始符位于所述打印程序对应的打印代码块的前面;所述结束符位于所述打印代码块的后面。5.根据权利要求4所述的方法,其特征在于,所述逻辑判断函数、所述起始符和所述打印代码块的起始语句位于同一代码行;所述结束符和所述打印代码块的结束...

【专利技术属性】
技术研发人员:黄赟伟
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1