用于软件系统的日志数据跨语言自动记录方法及系统与流程

文档序号:37436765发布日期:2024-03-25 19:35阅读:10来源:国知局
用于软件系统的日志数据跨语言自动记录方法及系统与流程

本发明涉及计算机软件,尤其涉及用于软件系统的日志数据跨语言自动记录方法及系统。


背景技术:

1、随着信息技术的迅速发展,软件系统在各行各业中的应用日益广泛。在软件系统的运行过程中,日志记录是一个重要环节,它不仅有助于监控系统状态和行为,还是分析和解决软件问题的关键。传统的日志记录方法主要依赖于特定的编程语言或框架,这限制了日志记录的灵活性和适用性。例如,当软件系统跨越多种编程语言或平台时,传统的日志记录方法可能无法有效地协同工作,从而导致日志信息的不完整或丢失。

2、当前,多数主流开发环境采用面向切面编程(aop)技术来实现日志记录。这种方法主要在前端用户界面(ui)触发后台服务时介入,对事件动作进行监控,从而捕获和记录系统调用行为。生成的日志随后被持久化到文件系统或数据库中。虽然这些方法在特定场景下有效,但它们往往作为孤立的解决方案存在,缺乏足够的通用性和灵活性,难以满足跨平台和多语言环境的需求。

3、此外,这些传统的日志记录方法通常涉及较高的实现成本和复杂的实现路径,给开发者带来了较高的学习成本。并且这些方法单独存在,存在不具有通用性,不能实现跨平台语言,导致在不同业务场景下需要对日志监视器进行重复修改和定制,从而增加了维护成本和降低了系统的可维护性。此外,这些方法往往缺乏支持自定义配置的灵活性,限制了其在各种复杂环境下的适应能力。


技术实现思路

1、针对以上问题,迫切需要一种在软件的日常运行中跨语言自动记录日志的方法和系统,以提高日志记录的灵活性和有效性,同时降低系统维护的复杂性。

2、为了实现上述技术目的,本发明提供的技术方案包括:

3、用于软件系统的日志数据跨语言自动记录方法,包括步骤:

4、s1、注册监听器以监听软件系统运行过程中的事件动作;

5、s2、引入log4cplus库以将所述软件系统的事件动作记录为日志数据,并输出为动态链接库文件;

6、s3、利用c++语言注册通用调用接口,通过所述通用调用接口调用动态链接库文件以实现对日志数据的查看。

7、在一些较优的实施例中,所述监听器根据日志级别对软件系统事件动作进行不同类型的监听。

8、在一些较优的实施例中,步骤s2中所述引入log4cplus库以将所述软件系统的事件动作记录为日志数据的写入方法包括:

9、s201、调用log4cplus::initialize()初始化日志系统;

10、s202、根据日志级别数量创建对应的日志记录器;

11、s203、使用日志记录器记录日志数据。

12、在一些较优的实施例中,步骤s3中所述利用c++语言注册通用调用接口的方法包括:

13、s301、确定动态链接库文件的文件路径与文件名,并记录动态链接库文件的绝对路径;

14、s302、创建与动态链接库文件中函数的对应关系和调用链路的接口定义;

15、s303、创建目标语言与c++语言的绑定或声明;

16、s304、实现至少一个使用所述接口定义的封装层,用以将高级语言的调用转换为动态链接库文件函数的调用。

17、在一些较优的实施例中,步骤s3中所述对日志数据的查看方法包括:

18、在log4cplus.properties中配置consoleappender的布局类型、输出格式和对应的日志级别,用以将日志数据输出到控制台;

19、或,在log4cplus.properties中配置rollingfileappender的日志文件名称、最大文件大小、备份文件数量、输出格式和对应的日志级别,用以将日志数据输出到文件中以便稍后查看。

20、本发明还提供了用于软件系统的日志数据跨语言自动记录系统,该系统包括:

21、监听模块,配置用于监听软件系统的运行情况;

22、日志记录模块,配置集成log4cplus库,用于将软件系统事件动作记录为日志数据,并输出为动态链接库文件;

23、调用模块,配置利用c++语言注册通用调用接口,并通过该通用调用接口调用动态链接库文件以实现对日志数据的查看。

24、在一些较优的实施例中,所述监听模块根据日志级别对软件系统事件动作进行不同类型的监听。

25、在一些较优的实施例中,所述日志记录模块包括:

26、初始化子模块,配置调用log4cplus::initialize()以初始化日志系统;

27、日志记录器子模块,配置根据日志级别数量创建对应的日志记录器;

28、数据记录子模块,配置使用日志记录器记录日志数据。

29、在一些较优的实施例中,所述调用模块包括:

30、路径子模块,配置用于确定动态链接库文件的文件路径与文件名,并记录动态链接库文件的绝对路径;

31、接口定义子模块,配置用于创建与动态链接库文件中函数的对应关系和调用链路的接口定义;

32、语言绑定子模块,配置用于创建目标语言与c++语言的绑定或声明;

33、封装层子模块,配置用于实现至少一个使用所述接口定义的封装层,以将高级语言的调用转换为动态链接库文件函数的调用。

34、在一些较优的实施例中,所述调用模块还包括输出单元,配置用于提供不同的日志数据查看方式;所述输出单元包括:

35、控制台输出子单元,配置为在log4cplus.properties中配置consoleappender的布局类型、输出格式和对应的日志级别,以将日志数据输出到控制台;

36、文件输出子单元,配置为在log4cplus.properties中配置rollingfileappender的日志文件名称、最大文件大小、备份文件数量、输出格式和对应的日志级别,以将日志数据输出到文件中以便稍后查看。

37、有益效果

38、本发明能够跨多种编程语言自动记录日志,有效解决了传统日志系统只能在单一语言环境下运行的限制,能够广泛适用于多语言编程环境,提高了系统的通用性和适应性;提供了日志级别的灵活管理方法,允许用户根据需要调整日志记录的详细程度,可以更加精准地满足不同的监控和调试需求;显著降低日志记录系统维护的复杂性和成本,提高了日志记录的效率和灵活性,还降低了系统维护的复杂性,从而为软件开发和维护提供了有力的技术支持。



技术特征:

1.用于软件系统的日志数据跨语言自动记录方法,其特征在于,包括步骤:

2.如权利要求1所述的用于软件系统的日志数据跨语言自动记录方法,其特征在于:所述监听器根据日志级别对软件系统事件动作进行不同类型的监听。

3.如权利要求2所述的用于软件系统的日志数据跨语言自动记录方法,其特征在于,步骤s2中所述引入log4cplus库以将所述软件系统的事件动作记录为日志数据的写入方法包括:

4.如权利要求2所述的用于软件系统的日志数据跨语言自动记录方法,其特征在于,步骤s3中所述利用c++语言注册通用调用接口的方法包括:

5.如权利要求2所述的用于软件系统的日志数据跨语言自动记录方法,其特征在于,步骤s3中所述对日志数据的查看方法包括:

6.用于软件系统的日志数据跨语言自动记录系统,其特征在于,该系统包括:

7.如权利要求6所述的用于软件系统的日志数据跨语言自动记录系统,其特征在于:所述监听模块根据日志级别对软件系统事件动作进行不同类型的监听。

8.如权利要求7所述的用于软件系统的日志数据跨语言自动记录系统,其特征在于,所述日志记录模块包括:

9.如权利要求7所述的用于软件系统的日志数据跨语言自动记录系统,其特征在于,所述调用模块包括:

10.如权利要求7所述的用于软件系统的日志数据跨语言自动记录系统,其特征在于,所述调用模块还包括输出单元,配置用于提供不同的日志数据查看方式;所述输出单元包括:


技术总结
本发明公开了用于软件系统的日志数据跨语言自动记录方法及系统,方法包括步骤:注册监听器以监听软件系统运行过程中的事件动作;引入log4cplus库以将所述软件系统的事件动作记录为日志数据,并输出为动态链接库文件和静态链接库文件;利用C++语言注册通用调用接口,通过所述通用调用接口调用动态链接库文件以实现对日志数据的查看。本发明能够跨多种编程语言自动记录日志,有效解决了传统日志系统只能在单一语言环境下运行的限制,能够广泛适用于多语言编程环境,提高了系统的通用性和适应性;显著降低日志记录系统维护的复杂性和成本,提高了日志记录的效率和灵活性,还降低了系统维护的复杂性,从而为软件开发和维护提供了有力的技术支持。

技术研发人员:孙梓轩,罗玉波,喻可伟,胡敏,余山海,何东升,李奎
受保护的技术使用者:成都九洲电子信息系统股份有限公司
技术研发日:
技术公布日:2024/3/24
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1