日志记录方法、装置、设备及介质制造方法及图纸

技术编号:37541221 阅读:15 留言:0更新日期:2023-05-12 16:10
本公开提供了一种日志记录方法,该方法包括:将自定义注解添加至目标方法之前,自定义注解为切面程序的切入点;响应于目标方法被调用,基于切入点通知切面程序启动日志记录程序,以生成目标方法的工作日志。该方法通过面向切面编程的手段解耦合了核心业务代码与日志打印代码,并通过注解的方式区别需要进行日志打印的“目标方法”范围,极大减少了配置工作量,提升了代码可读性,提高了研发效率。提高了研发效率。提高了研发效率。

【技术实现步骤摘要】
日志记录方法、装置、设备及介质


[0001]本公开涉及计算机
,尤其涉及一种日志记录方法、装置、电子设备及介质。

技术介绍

[0002]基于J2EE的业务系统的在编码时往往在业务代码与日志打印代码耦合度过高,造成核心业务逻辑的代码可读性下降,最终导致研发效率降低。

技术实现思路

[0003]鉴于上述问题,本专利技术提供了一种日志记录方法。
[0004]本公开的一个方面提供了一种日志记录方法,包括:将所述自定义注解添加至目标方法之前,所述自定义注解为切面程序的切入点;响应于所述目标方法被调用,基于所述切入点通知切面程序启动日志记录程序,以生成所述目标方法的工作日志。
[0005]可选地,所述将所述自定义注解添加至目标方法之前包括:声明所述自定义注解;扫描并识别目标程序中的目标方法;将所述自定义注解添加至所述目标方法之前。
[0006]可选地,所述扫描并识别目标程序中的目标方法包括:配置切入点表达式;基于所述切入点表达式扫描并识别所述目标程序中的目标方法。
[0007]可选地,所述响应于所述目标方法被调用,基于所述切入点通知切面程序启动日志记录程序,以生成所述目标方法的工作日志包括:
[0008]基于切入点通知切面程序启动日志记录程序,记录所述目标方法被调用时的操作序列号、方法名、方法参数、方法返回值、方法异常值、调用时间和执行时长。
[0009]可选地,所述方法还包括:响应于所述目标方法抛出的异常信息,基于所述切入点通知切面程序启动异常通知程序,以执行所述目标方法的异常处理操作。
[0010]可选地,所述方法还包括:响应于所述目标方法返回的返回值,基于所述切入点通知切面程序启动后置通知程序,以启动所述目标方法的后置操作。
[0011]可选地,还包括:定义所述自定义注解的作用范围和生命周期;当所述自定义注解的作用范围和生命周期失效后,使所述自定义注解失效。
[0012]本公开另一方面提供了一种日志记录装置,包括:注解定义模块,用于将所述自定义注解添加至目标方法之前,所述自定义注解为切面程序的切入点;日志切面模块,用于响应于所述目标方法被调用,基于所述切入点通知切面程序启动日志记录程序,以生成所述目标方法的工作日志。
[0013]本公开的另一个方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现所述日志记录方法中的各个步骤。
[0014]本公开的另一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现所述日志记录方法中的各个步骤。
[0015]在本公开实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0016]本公开提供的日志记录方法通过面向切面编程的手段解耦合了核心业务代码与日志打印代码,并通过注解的方式区别需要进行日志打印的“目标方法”范围,极大减少了配置工作量,提升了代码可读性,提高了研发效率。
附图说明
[0017]为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
[0018]图1示意性示出了本公开实施例提供的一种日志记录方法的示意图;
[0019]图2示意性示出了本公开实施例提供的一种日志记录置的结构框图;
[0020]图3示意性示出了本公开实施例提供的一种电子设备的结构框图。
具体实施方式
[0021]以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0022]在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0023]在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0024]附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
[0025]因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD

ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
[0026]图1示意性示出了本公开实施例提供的一种日志记录方法的示意图。
[0027]如图1所示,本公开实施例提供了一种日志记录方法,包括S1~S2。
[0028]S1,将所述自定义注解添加至目标方法之前,所述自定义注解为切面程序的切入点。
[0029]S 1包括:声明所述自定义注解;扫描并识别目标程序中的目标方法;将所述自定
义注解添加至所述目标方法之前。
[0030]在声明自定义注解时,可以定义所述自定义注解的作用范围和生命周期;当所述自定义注解的作用范围和生命周期失效后,使所述自定义注解失效。Java自定义注解可以被javadoc扫描成文档。
[0031]在本实施例中,通过配置切入点表达式,基于所述切入点表达式扫描并识别所述目标程序中的目标方法。当系统调用带有自定义的注解的“目标方法”,触发SpringAOP切面程序并按实际执行结果进入到对应的“后置通知”或“异常通知”方法。执行完“通知”[0032]后,“目标方法”完成调用过程。
[0033]S2,响应于所述目标方法被调用,基于所述切入点通知切面程序启动日志记录程序,以生成所述目标方法的工作日志。
[0034]响应于目标方法被调用,基于切入点通知切面程序启动日志记录程序,记录所述目标方法被调用时的操作序列号、方法名、方法参数、方法返回值、方法异常值、调用时间和执行时长。
[0035]其中,操作序列号仅用于标识本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志记录方法,其特征在于,包括:将所述自定义注解添加至目标方法之前,所述自定义注解为切面程序的切入点;响应于所述目标方法被调用,基于所述切入点通知切面程序启动日志记录程序,以生成所述目标方法的工作日志。2.根据权利要求1所述的方法,其特征在于,所述将所述自定义注解添加至目标方法之前包括:声明所述自定义注解;扫描并识别目标程序中的目标方法;将所述自定义注解添加至所述目标方法之前。3.根据权利要求2所述的方法,其特征在于,所述扫描并识别目标程序中的目标方法包括:配置切入点表达式;基于所述切入点表达式扫描并识别所述目标程序中的目标方法。4.根据权利要求2所述的方法,其特征在于,所述响应于所述目标方法被调用,基于所述切入点通知切面程序启动日志记录程序,以生成所述目标方法的工作日志包括:基于切入点通知切面程序启动日志记录程序,记录所述目标方法被调用时的操作序列号、方法名、方法参数、方法返回值、方法异常值、调用时间和执行时长。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述目标方法抛出的异常信息,基于所述切入点通知切面程序启动异常...

【专利技术属性】
技术研发人员:王笛帆李星吴建平李威王飞王辉
申请(专利权)人:赛尔网络有限公司
类型:发明
国别省市:

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

1