日志打印方法、电子设备以及存储介质与流程

文档序号:35012824发布日期:2023-08-04 05:50阅读:32来源:国知局
日志打印方法、电子设备以及存储介质与流程

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


背景技术:

1、在终端设备的程序开发阶段,比如java程序的开发阶段,开发人员在开发一些功能时,为了分析和定位功能开发过程中遇到的问题,会在java程序的源代码中添加大量的日志打印代码块(指包括至少一行日志打印代码的代码块),以通过执行日志打印代码块打印相应的日志,然后依据打印的日志对java程序进行调试。在程序开发完成之后,开发人员会对java程序进行编译,并将编译后的java程序移植到用户的手机上进行运行,以实现相应的功能。

2、用户在使用手机时,不需要像开发人员一样分析定位技术问题,也就没有日志打印的需求。但是,用户使用的java程序仍然是开发人员开发的版本,如前所述,该版本中java程序的源代码被添加了大量的日志打印代码块。这样,用户的手机在运行java程序的过程中会执行大量的日志打印代码块,造成多余的功耗开销,从而影响手机的性能。


技术实现思路

1、本申请的一些实施方式提供了一种日志打印方法、电子设备以及计算机可读存储介质,以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。

2、第一方面,本申请提供了一种日志打印方法,用于电子设备,方法包括:运行第一程序;检测到第一程序运行过程中产生的第一事件;基于第一事件对应的打印程序的管控信息确定是否打印第一事件;对应于管控信息为第一管控信息时,确定不打印第一事件。

3、其中,本申请提及的程序可以是java程序,第一事件可以是日志,打印程序可以是打印代码块,管控信息可以是管控代码。管控代码可以包括逻辑判断函数,逻辑判断函数可以包括第一标记,第一管控信息可以是第一标记对应的逻辑值为第一值时的管控信息。

4、根据本申请实施方式,电子设备运行程序的过程中,在检测到该程序运行过程中产生的事件时,可以基于事件对应的打印程序的管控信息确定是否打印该事件。例如,当管控信息为第一管控信息时,可以直接不打印该事件,即不执行该事件对应的打印程序。如此,可以避免多余的功耗,从而提升电子设备的性能。

5、在一些实施例中,管控信息包括逻辑判断函数,逻辑判断函数包括第一标记,第一标记的逻辑值表征是否执行打印程序;打印程序用于打印第一事件;第一管控信息为第一标记对应的逻辑值为第一值时的管控信息。

6、其中,本申请提及的第一标记可以是管控代码中的变量参数,逻辑值可以为第一值或第二值,第一值可以是false,第二值可以是true。

7、根据本申请实施方式,可以通过设置第一标记的逻辑值,对日志的打印进行管控。例如,在第一标记的逻辑值为第一值时,程序运行时基于第一标记的逻辑值为第一值,确定不打印事件,也就不执行打印程序,从而避免多余的功耗开销。

8、在一些实施例中,第一标记用于指示打印程序打印第一事件的级别。

9、根据本申请实施方式,由于第一标记可以指示日志的级别,这样可以通过设置第一标记的逻辑值,对各个级别的日志进行管控,使得程序在运行中仅打印某些级别的日志,以满足后续程序维护时,需要打印某些级别的日志的需求。

10、在一些实施方式中,管控信息还包括起始符和结束符,逻辑判断函数和起始符位于打印程序对应的打印代码块的前面;结束符位于打印代码块的后面。

11、其中,打印代码块可以是日志打印代码块。

12、根据本申请实施方式,逻辑判断函数、起始符和结束符构成完整了的管控代码,并且,逻辑判断函数和起始符位于打印代码块的前面,这样管控代码就会先于打印代码块执行,从而可以在执行到打印代码块之前,判断是否执行打印代码块。

13、在一些实施方式中,逻辑判断函数、起始符和打印代码块的起始语句位于同一代码行;结束符和打印代码块的结束语句位于同一代码行。

14、根据本申请实施方式,管控代码是在程序开发完成之后插入到程序的源代码中的。在插入时,让逻辑判断函数、起始符和打印代码块的起始语句处于同一代码行,以及让结束符和打印代码块的结束语句位于同一代码行,可以保持程序中各个代码的行号不变,从而不影响后续分析时对代码的定位。

15、在一些实施方式中,对应于管控信息为第一管控信息时,确定不打印第一事件,包括:对应于管控信息为第一管控信息时,确定不执行打印程序。

16、根据本申请实施方式,当管控代码中逻辑判断函数的变量参数被设置为false时,表示不需要打印日志。电子设备运行程序时,可以直接跳过日志打印代码块,无需执行字符串的拼接指令,从而避免出现多余的功耗,提升电子设备的性能。

17、在一些实施方式中,方法还包括:对应于管控信息为第二管控信息时,执行打印程序,以确定是否打印第一事件。

18、在一些实施方式中,执行打印程序,以确定是否打印第一事件,包括:判断打印程序打印第一事件的级别是否高于或等于预设级别;若是,则打印第一事件;若否,则不打印第一事件。

19、第二方面,本申请实施方式提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;处理器,当处理器执行存储器中的指令时,可使得电子设备执行本申请第一方面所述的方法。第二方面能达到的有益效果可参考第一方面任一实施方式所提供的方法的有益效果,此处不再赘述。

20、第三方面,本申请实施方式提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,该指令在计算机上执行时可使计算机执行第一方面任一实施方式所述的方法。第三方面能达到的有益效果可参考第一方面任一实施方式所提供的方法的有益效果,此处不再赘述。



技术特征:

1.一种日志打印方法,用于电子设备,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求2所述的方法,其特征在于,所述第一标记用于指示所述打印程序打印所述第一事件的级别。

4.根据权利要求2所述的方法,其特征在于,所述管控信息还包括起始符和结束符,

5.根据权利要求4所述的方法,其特征在于,

6.根据权利要求2所述的方法,其特征在于,所述对应于所述管控信息为第一管控信息时,确定不打印所述第一事件,包括:

7.根据权利要求2所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述执行所述打印程序,以确定是否打印所述第一事件,包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令在计算机上执行时使得计算机执行权利要求1~8任一项所述的日志打印方法。


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

技术研发人员:黄赟伟
受保护的技术使用者:荣耀终端有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1