一种微服务开发框架的日志捕获与处理方法技术

技术编号:21517491 阅读:37 留言:0更新日期:2019-07-03 10:00
本发明专利技术公开一种微服务开发框架的日志捕获与处理方法,涉及后端应用开发技术领域,搭建微服务开发框架SpringBoot的后端服务工程项目,创建启动类,在公共包内创建日志处理类和切面类,日志处理类内进行包路径解析过程,进行操作日志的记录过程,进行调用处理过程,进行异常记录过程,进行返回值处理过程及进行日志记录和发送过程,切面类通过切面的切点表达式对公共包内所有的包进行扫描配置,根据配置通过通知方法调用处理类内相应的处理过程,进行切面日志的获取和处理。

A Log Capture and Processing Method for Microsoft Service Development Framework

【技术实现步骤摘要】
一种微服务开发框架的日志捕获与处理方法
本专利技术公开一种微服务开发框架的日志捕获与处理方法,涉及后端应用开发

技术介绍
随着互联网技术的发展,微服务成为主流。其中SpringBoot为其中佼佼者,SpringBoot微服务框架具有轻量、高效、可扩展特性,能够快速开发、构建、打包应用,开发快捷方便。SpringBoot管理Spring容器、第三方插件并提供了很多默认系统级的服务,只需要少量的配置和代码就能完成,节省了项目开发在环境配置上耗费的大量时间。在现有业务开发过程中,对日志的处理一般都是由开发人员手动添加。开发人员手动添加日志容易忽略内容而随意打印日志,并且如果需要可视化展示只能通过控制才能看到日志,操作日志,而异常日志不方便及时获取及可视化。开发的周期成本高,后期维护也很十分费力。本专利技术提供一种微服务开发框架的日志捕获与处理方法,基于SpringBoot这个微服务框架,提供统一的日志捕获、记录、保存及发送的方法,默认自动配置,不需要开发人员添加日志代码,降低开发的周期成本,后期维护也很十分方便。
技术实现思路
本专利技术针对现有技术的问题,提供一种微服务开发框架的日志捕获与处理方法,避免了日志打印的操作,日志输出更规范化,节省了开发时间,记录并发送异常日志、操作日志,降低了运维成本、开发的复杂度,提高了开发与运维效率。本专利技术提出的具体方案是:一种微服务开发框架的日志捕获与处理方法,搭建微服务开发框架SpringBoot的后端服务工程项目,创建启动类,在公共包内创建日志处理类和切面类,日志处理类内进行包路径解析过程,进行操作日志的记录过程,进行调用处理过程,进行异常记录过程,进行返回值处理过程及进行日志记录和发送过程,切面类通过切面的切点表达式对公共包内所有的包进行扫描配置,根据配置通过通知方法调用处理类内相应的处理过程,进行切面日志的获取和处理。所述的方法中利用IDEA工具搭建后端服务Maven工程项目,Maven工程项目把SpringBoot相关的依赖包配置到pom.xml中,或者利用IDEA工具搭建后端服务Gradle工程项目,把SpringBoot相关的依赖配置到build.gradle,或者利用IDEA工具搭建其他自动化后端服务工程项目,把SpringBoot相关的依赖配置到相应的配置文件中。所述的方法中包路径解析过程利用JoinPoint对象解析出程序的包路径,按照包路径解析出调用工程项目的模块和被调用的过程所在层,解析出的模块信息及路径信息并返回。所述的方法中操作日志的记录过程获取HttpServletRequest对象,由HttpServletRequest对象解析出url信息、接口参数信息及调用的IP信息并返回。所述的方法中调用处理过程解析JoinPoint对象解析出的调用的类名称信息、方法名称信息、相关参数信息以及调用的时间信息并返回。所述的方法中返回值处理过程调用JoinPoint对象的proceed方法获取返回的数据信息并返回。所述的方法中日志记录过程把返回的信息按照包的路径,输出不同的信息内容。所述的方法中日志发送过程把操作日志的记录过程中返回的信息和异常记录过程返回的信息发送到指定位置。所述的方法中切面类内创建三个通知方法,分别为doBefore,doAround及doAfterThrowing,doBefore方法调用处理类内的包路径解析过程,进行操作日志的记录过程,进行调用处理过程,及日志记录和发送过程进行相关切面日志的获取和处理;doAround方法调用处理类内的返回值处理过程及日志记录过程进行相关切面日志的获取和处理;doAfterThrowing方法调用处理类内的异常记录过程,日志记录过程和日志发送过程进行相关切面日志的获取和处理。本专利技术的有益之处是:本专利技术提供一种微服务开发框架的日志捕获与处理方法,利用面向切面自动化配置及日志处理的流程,按照包不同生成不同的日志,按照日志的不同区别记录和发送,可以生成特定格式的日志,发送打印到控制台,或被记录到数据库等等,且与现有技术相比,由于本专利技术采用了系统自动配置和系统记录发送日志方法,开发人员减少了日志操作的代码,运维人员可以及时收到异常信息,节省了开发运维时间,降低了开发的复杂度,提高了开发运维效率,输出的信息更规整,记录日志可以web页面显示,更加直观。附图说明图1是本专利技术方法中创建后端服务工程项目的流程示意图;图2是本专利技术方法利用接口调用日志处理流程图。具体实施方式本专利技术提供一种微服务开发框架的日志捕获与处理方法,搭建微服务开发框架SpringBoot的后端服务工程项目,创建启动类,在公共包内创建日志处理类和切面类,日志处理类内进行包路径解析过程,进行操作日志的记录过程,进行调用处理过程,进行异常记录过程,进行返回值处理过程及进行日志记录和发送过程,切面类通过切面的切点表达式对公共包内所有的包进行扫描配置,根据配置通过通知方法调用处理类内相应的处理过程,进行切面日志的获取和处理。下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。本专利技术以微服务开发框架SpringBoot为例,搭建SpringBoot后端服务项目可以是普通的加载依赖项目的搭建,也可以是maven或者gradle创建的项目,把SpringBoot依赖配置好,创建启动类,过程为:由代码集成开发环境工具IDEA选择创建Maven工程,或者Gradle工程或者其他的自动化工具构建的工程,如果是Maven工程把SpringBoot相关的依赖包配置到pom.xml中,如果是Gradle工程把SpringBoot相关的依赖配置到build.gradle,在根目录创建启动类,类引入注解@SpringBootApplication,创建main函数,工程创建完成,可参考图图1;在公共包内创建日志处理类,日志处理内创建类中包括(1)包路径解析过程,(2)操作日志的记录过程,(3)方法调用的处理过程,(4)异常记录过程,(5)返回值处理过程,(6)日志记录过程,(7)日志发送过程,其中(1)包路径解析过程参数为JoinPoint对象,由JoinPoint对象解析出程序的包路径,按照包路径解析出调用的模块和被调用的方法所在层,解析出的模块信息,路径信息返回;(2)操作日志的记录过程获取HttpServletRequest对象,由HttpServletRequest对象解析出url,接口参数,调用的IP等信息,并返回;(3)方法调用的处理过程的参数为JoinPoint对象,解析JoinPoint对象解析出调用的类名称,方法名称,参数,以及调用的时间并返回;(4)异常记录过程参数为JoinPoint对象和Throwable对象,解析出异常类型,异常信息,和异常的所在行信息并返回;(5)返回值处理过程的参数为JoinPoint对象,调用JoinPoint对象的proceed方法获取返回的数据并返回;(6)日志记录过程参数为上面其他过程返回的对象,把上面的对象按照包的路径,输出不同的内容,如果是Controller可把(2)内生成的内容整合进来,否则不添加,按照一定的格式生成的日志可本文档来自技高网...

【技术保护点】
1.一种微服务开发框架的日志捕获与处理方法,其特征是搭建微服务开发框架SpringBoot的后端服务工程项目,创建启动类,在公共包内创建日志处理类和切面类,日志处理类内进行包路径解析过程,进行操作日志的记录过程,进行调用处理过程,进行异常记录过程,进行返回值处理过程及进行日志记录和发送过程,切面类通过切面的切点表达式对公共包内所有的包进行扫描配置,根据配置通过通知方法调用处理类内相应的处理过程,进行切面日志的获取和处理。

【技术特征摘要】
1.一种微服务开发框架的日志捕获与处理方法,其特征是搭建微服务开发框架SpringBoot的后端服务工程项目,创建启动类,在公共包内创建日志处理类和切面类,日志处理类内进行包路径解析过程,进行操作日志的记录过程,进行调用处理过程,进行异常记录过程,进行返回值处理过程及进行日志记录和发送过程,切面类通过切面的切点表达式对公共包内所有的包进行扫描配置,根据配置通过通知方法调用处理类内相应的处理过程,进行切面日志的获取和处理。2.根据权利要求1所述的方法,其特征是利用IDEA工具搭建后端服务Maven工程项目,Maven工程项目把SpringBoot相关的依赖包配置到pom.xml中或者利用IDEA工具搭建后端服务Gradle工程项目,把SpringBoot相关的依赖配置到build.gradle,或者利用IDEA工具搭建其他自动化后端服务工程项目,把SpringBoot相关的依赖配置到相应的配置文件中。3.根据权利要求2所述的方法,其特征是包路径解析过程利用JoinPoint对象解析出程序的包路径,按照包路径解析出调用工程项目的模块和被调用的过程所在层,解析出的模块信息及路径信息并返回。4.根据权利要求2或3所述的方法,其特征是操作日志的记录过程获取HttpServletRequest对...

【专利技术属性】
技术研发人员:张晓玉
申请(专利权)人:山东浪潮云信息技术有限公司
类型:发明
国别省市:山东,37

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

1