CN115757054A - 一种日志记录方法、系统、计算机设备及介质 - Google Patents
一种日志记录方法、系统、计算机设备及介质 Download PDFInfo
- Publication number
- CN115757054A CN115757054A CN202211269851.7A CN202211269851A CN115757054A CN 115757054 A CN115757054 A CN 115757054A CN 202211269851 A CN202211269851 A CN 202211269851A CN 115757054 A CN115757054 A CN 115757054A
- Authority
- CN
- China
- Prior art keywords
- log
- template
- system operation
- target
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域及数字医疗领域,公开了一种日志记录方法、系统、计算机设备及介质,方法包括:接收系统操作请求,根据该请求确定日志类型标识符;根据日志类型标识符在预设日志模板库中确定目标日志模板;根据系统操作请求对应的业务逻辑代码生成系统操作数据;将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,将操作日志进行存储。由于本申请通过确定业务逻辑代码中的日志类型标识符,并结合业务代码之外的预设日志模板库对系统操作数据进行日志转化,使得仅在业务逻辑代码中设置一个标识符就能完成操作日志记录,避免了在业务逻辑代码中大量嵌入操作日志记录代码片段,从而提升了系统平台的稳定性。
Description
技术领域
本发明涉及计算机技术领域及数字医疗领域,特别涉及一种日志记录方法、系统、计算机设备及介质。
背景技术
日志用来记录系统平台中应用程序的运行轨迹,通常用于在系统平台运行错误时查找错误信息以及快速定位问题。在目前的系统平台运行时所产生的日志而言,日志主要分为两类:系统日志和操作日志。系统日志更多的关注系统运行流程状态,其对于可读性要求较低。操作日志则更加关心用户行为,对于可读性有一定要求,因此不同的系统平台对于系统日志的需求基本是一致的,可通过主流日志框架完成系统日志的记录,而不同业务用户操作场景各不相同,因此在操作日志记录时,需要研发人员在业务开发过程中设置操作日志记录代码进行单独记录,
目前,常用的方式是研发人员在系统平台的业务代码中的增删改操作代码接口中设置操作日志记录代码片段以进行操作日志记录。由于该方式需要在系统平台的业务代码中设置操作日志记录代码片段,当系统平台的业务代码体量庞大时,在不同的业务代码中大量设置操作日志记录代码片段会使得操作日志记录代码与业务代码的耦合度较高,会对平台系统的业务逻辑代码侵入较大,从而降低了系统平台的稳定性。
发明内容
基于此,有必要针对系统平台的稳定性低的问题,提供一种日志记录方法、系统、计算机设备及介质。
一种日志记录方法,方法包括:接收客户端发送的系统操作请求,根据系统操作请求确定日志类型标识符;根据日志类型标识符在预设日志模板库中确定目标日志模板;其中,预设日志模板库包括通用数据库模板以及自定义模板序列;根据系统操作请求对应的业务逻辑代码生成系统操作数据;将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,并将操作日志进行持久化存储。
在其中一个实施例中,根据系统操作请求确定日志类型标识符,包括:解析系统操作请求,得到解析数据;在解析数据中提取业务代码类名,并基于业务代码类名获取目标业务代码;在目标业务代码中识别日志注解标签,并提取日志注解标签的赋值参数;将赋值参数确定为日志类型标识符。
在其中一个实施例中,根据日志类型标识符在预设日志模板库中确定目标日志模板,包括:当日志类型标识符为通用数据库模板的日志类型标识符时,将通用数据库模板确定为目标日志模板;或者,当日志类型标识符为自定义模板序列的日志类型标识符时,根据自定义模板序列确定目标日志模板。
在其中一个实施例中,根据系统操作请求对应的业务逻辑代码生成系统操作数据,包括:执行目标业务代码,并确定目标业务代码的操作对象;当操作对象为数据库时,基于日志注解标签的监听策略获取目标业务代码在执行过程中数据库中存在变化的数据;将数据库中存在变化的数据确定为系统操作数据;或者,当操作对象不为数据库时,将目标业务代码的执行结果确定为系统操作数据。
在其中一个实施例中,将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,包括:当目标日志模板为通用数据库模板且操作对象为数据库时,获取发出系统操作请求的用户标识;获取通用数据库模板中的多个变量值;根据数据库中存在变化的数据、用户标识的属性与多个变量值进行映射关联,生成系统操作请求的操作日志;或者,当目标日志模板为自定义模板序列中的自定义模板且操作对象不为数据库时,采用SPEL表达式对自定义模板进行解析;通过预设自定义函数在解析后的模板数据中获取指定变量值,并将目标业务代码的执行结果与获取的指定变量值进行映射关联,得到系统操作请求的操作日志。
在其中一个实施例中,根据自定义模板序列确定目标日志模板,包括:获取系统操作请求携带的第一业务功能描述文本;将第一业务功能描述文本进行向量化表示,得到系统操作请求的目标文本向量;获取自定义模板序列中每个自定义模板的第二业务功能描述文本;将每个自定义模板的第二业务功能描述文本进行向量化表示,得到每个自定义模板的比对文本向量;计算目标文本向量与每个自定义模板的比对文本向量之间的相似度,得到每个自定义模板的相似度;根据每个自定义模板的相似度确定相似度最大的自定义模板,将相似度最大的自定义模板确定为目标日志模板。
在其中一个实施例中,将操作日志进行持久化存储,包括:将操作日志缓存至队列消息服务中;在队列消息服务中的队列消息的消息量到达预设阈值时,将队列消息发送至日志数据库进行存储;
方法还包括:在接收到针对日志数据库的查询指令时,根据查询指令提取待展示操作日志数据;定位待展示操作日志数据中的多个目标关键字符以及时间参数;基于预设关键字字符等级判断规则确定每个目标关键字符的重要度;根据每个目标关键字符的重要度以及时间参数绘制出时序图;根据时序图以图形化模式展示待展示操作日志数据中的内容。
一种日志记录系统,系统包括:日志类型标识符确定模块,用于接收客户端发送的系统操作请求,根据系统操作请求确定日志类型标识符;目标日志模板确定模块,用于根据日志类型标识符在预设日志模板库中确定目标日志模板;其中,预设日志模板库包括通用数据库模板以及自定义模板序列;系统操作数据生成模块,用于根据系统操作请求对应的业务逻辑代码生成系统操作数据;操作日志持久化存储模块,用于将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,并将操作日志进行持久化存储。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述日志记录方法的步骤。
一种存储有计算机可读指令的介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述日志记录方法的步骤。
上述日志记录方法、系统、设备和介质,日志记录系统首先在接收到系统操作请求时,根据该请求确定日志类型标识符,然后根据日志类型标识符在预设日志模板库中确定目标日志模板,其次根据系统操作请求对应的业务逻辑代码生成系统操作数据,最后将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,将操作日志进行存储。由于本申请通过确定业务逻辑代码中的日志类型标识符,并结合业务代码之外的预设日志模板库对系统操作数据进行日志转化,使得仅在业务逻辑代码中设置一个标识符就能完成操作日志记录,避免了在业务逻辑代码中大量嵌入操作日志记录代码片段,从而提升了系统平台的稳定性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请一个实施例中提供的日志记录方法的实施环境图;
图2为本申请一个实施例中计算机设备的内部结构示意图;
图3为本申请一个实施例中提供的日志记录方法的方法示意图;
图4为本申请一个实施例中提供的一种日志记录过程的过程示意框图;
图5是本申请实施例提供的另一种日志记录方法的方法示意图;
图6是本申请实施例提供的一种日志记录系统的系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中提供的日志记录方法的实施环境图,如图1所示,在该实施环境中,包括服务端110以及客户端120。
服务端110可以为服务器,该服务器具体可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,例如为保存预设日志模板库的服务器设备。客户端120连接服务端110,并在服务端110上获取预设日志模板库,客户端120在接收到针对客户端120触发的系统操作请求时,客户端120根据系统操作请求确定日志类型标识符,客户端120根据日志类型标识符在预设日志模板库中确定目标日志模板;其中,预设日志模板库包括通用数据库模板以及自定义模板序列,客户端120根据系统操作请求对应的业务逻辑代码生成系统操作数据,客户端120将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,并将操作日志进行持久化存储。
需要说明的是,客户端120可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务端110以及客户端120可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、介质、存储器和网络接口。其中,该计算机设备的介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种日志记录方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种日志记录方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,介质为一种可读的存储介质。
下面将结合附图3-5,对本申请实施例提供的日志记录方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的日志记录系统上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大日志记录技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
请参见图3,为本申请实施例提供了一种日志记录方法的流程示意图。如图3所示,本申请实施例的方法可以包括以下步骤:
S101,接收客户端发送的系统操作请求,根据系统操作请求确定日志类型标识符;
其中,系统操作请求是用户通过触发平台系统上的目标功能所产生的,例如可以是用户在医疗平台系统上触发下单功能所产生的下单请求,也可以是用户在医疗平台系统上触发问诊功能所产生的问诊请求。日志类型标识符是预先设置在业务逻辑代码中的标识符,该标识符为日志注解标签的赋值参数,日志注解标签为“@OptLog”,该注解标签与预先设置的操作日志记录服务关联,操作日志记录服务提供了多种策略,例如监听策略。
在本申请实施例中,首先接收到针对客户端触发的系统操作请求,然后解析系统操作请求,得到解析数据,其次在解析数据中提取业务代码类名,并基于业务代码类名获取目标业务代码,以及在目标业务代码中识别日志注解标签,并提取日志注解标签的赋值参数,最后将赋值参数确定为日志类型标识符。
在一种可能的实现方式中,用户在医疗平台系统上触发目标功能生成系统操作请求,该操作请求中封装了大量参数,客户端的处理器在收到该操作请求后,首先提取该请求中的目标功能对应的业务代码类名,根据该业务代码类名可找到以该类名命名的代码文件,该代码文件可实现该请求中的目标功能,该代码文件的初始部分具有@OptLog的注解标签,提取该注解标签的赋值部分,从而得到日志类型标识符。
S102,根据日志类型标识符在预设日志模板库中确定目标日志模板;
其中,预设日志模板库包括通用数据库模板以及自定义模板序列,数据库模板用于在操作数据库的情况下可使用的日志模板,例如对数据库中某个字段的数据进行增删改查操作。自定义模板序列用于不对数据库操作情况下可使用的模板,例如验证码短信的发送。
在一种可能的实现方式中,当日志类型标识符为通用数据库模板的日志类型标识符时,将通用数据库模板确定为目标日志模板。
在另一种可能的实现方式中,当日志类型标识符为自定义模板序列的日志类型标识符时,根据自定义模板序列确定目标日志模板。
具体的,在根据自定义模板序列确定目标日志模板时,首先获取系统操作请求携带的第一业务功能描述文本,并将第一业务功能描述文本进行向量化表示,得到系统操作请求的目标文本向量,然后获取自定义模板序列中每个自定义模板的第二业务功能描述文本,并将每个自定义模板的第二业务功能描述文本进行向量化表示,得到每个自定义模板的比对文本向量,其次计算目标文本向量与每个自定义模板的比对文本向量之间的相似度,得到每个自定义模板的相似度,最后根据每个自定义模板的相似度确定相似度最大的自定义模板,将相似度最大的自定义模板确定为目标日志模板。
S103,根据系统操作请求对应的业务逻辑代码生成系统操作数据;
其中,系统操作数据可以是数据库的变化数据,也可以是系统操作请求对应的业务逻辑代码的执行结果。
在一种可能的实现方式中,在根据系统操作请求对应的业务逻辑代码生成系统操作数据时,首先执行目标业务代码,并确定目标业务代码的操作对象,然后当操作对象为数据库时,基于日志注解标签的监听策略获取目标业务代码在执行过程中数据库中存在变化的数据,最后将数据库中存在变化的数据确定为系统操作数据。
在另一种可能的实现方式中,当操作对象不为数据库时,将目标业务代码的执行结果确定为系统操作数据。
S104,将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,并将操作日志进行持久化存储。
在一种可能的实现方式中,在将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志时,首先当目标日志模板为通用数据库模板且操作对象为数据库时,获取发出系统操作请求的用户标识,然后获取通用数据库模板中的多个变量值,最后根据数据库中存在变化的数据、用户标识的属性与多个变量值进行映射关联,生成系统操作请求的操作日志。
具体的,基于数据库中数据变化的操作日志记录时,当确认描述数据库字段变更可以满足用户操作日志要求,可采用这种方式。@OptLog标签通过监听ROMA消息,可轻易获取数据变更情况。因此根据数据增删改分别设置日志内容。例如更新:[操作人]将[字段]由[原值]更新成[新值]。
在另一种可能的实现方式中,在将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志时,首先当目标日志模板为自定义模板序列中的自定义模板且操作对象不为数据库时,采用SPEL表达式对自定义模板进行解析,然后通过预设自定义函数在解析后的模板数据中获取指定变量值,并将目标业务代码的执行结果与获取的指定变量值进行映射关联,得到系统操作请求的操作日志。
具体的,自定义模板序列的日志记录方式更加灵活,将不再局限于数据库数据变化。可根据特定需求配置相应的日志模板格式,例如记录短信发送日志等。自定义模板通过获取模板中的变量值,这里采用的是SpEL表达式来进行模板解析,并通过自定义函数去获取指定变量值,将返回结果回填进模板变量中,完成日志描述的生成。
在本申请实施例中,在将操作日志进行持久化存储时,首先将操作日志缓存至队列消息服务中,然后在队列消息服务中的队列消息的消息量到达预设阈值时,将队列消息发送至日志数据库进行存储。本申请为了进一步隔离业务与日志,可考虑将日志存储操作通过消息队列进行发送并写入,避免写操作对业务造成影响。通常可以将日志记录在当前应用的库中,也可以选择其他数据库,例如专用的操作日志库。
进一步地,在接收到针对日志数据库的查询指令时,首先根据查询指令提取待展示操作日志数据,再定位待展示操作日志数据中的多个目标关键字符以及时间参数,然后基于预设关键字字符等级判断规则确定每个目标关键字符的重要度,再根据每个目标关键字符的重要度以及时间参数绘制出时序图,最后根据时序图以图形化模式展示待展示操作日志数据中的内容。
具体的,时序图为根据日志记录的时间顺序绘制的图形,绘制的时序图颜色为可配置选项,其中,可配置选项包括时序图背景颜色配置和时序图对象颜色配置。
例如图4所示,图4是本申请提供的一种日志记录过程的过程示意框图,首先用户开始对平台系统进行操作生成系统操作请求,该系统操作请求被日志拦截逻辑拦截后分析,提取出日志类型标识符,对日志类型标识符进行type判断,以判断出该日志类型标识符属于通用数据库模板的类型标识还是属于自定义模板序列的类型标识。当属于通用数据库模板的类型标识时,基于roma消息对具体的业务代码执行进行监视,以确定针对数据库的操作内容,将该操作内容与通用数据库模板进行映射后生成模板内容,当属于自定义模板序列的类型标识时,获取自定义模板并进行解析,根据解析的信息与业务代码执行后的结果进行关联映射生成模板内容。在将模板内容通过消息队列的方式进行记录,判断是否记录成功,若是,则结束,若否,则报出异常日志。
在本申请实施例中,日志记录系统首先在接收到系统操作请求时,根据该请求确定日志类型标识符,然后根据日志类型标识符在预设日志模板库中确定目标日志模板,其次根据系统操作请求对应的业务逻辑代码生成系统操作数据,最后将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,将操作日志进行存储。由于本申请通过确定业务逻辑代码中的日志类型标识符,并结合业务代码之外的预设日志模板库对系统操作数据进行日志转化,使得仅在业务逻辑代码中设置一个标识符就能完成操作日志记录,避免了在业务逻辑代码中大量嵌入操作日志记录代码片段,从而提升了系统平台的稳定性。
请参见图5,为本申请实施例提供了一种日志记录方法的流程示意图。如图5所示,本申请实施例的方法可以包括以下步骤:
S201,解析系统操作请求,得到解析数据;
S202,在解析数据中提取业务代码类名,并基于业务代码类名获取目标业务代码;
S203,在目标业务代码中识别日志注解标签,并提取日志注解标签的赋值参数;
S204,将赋值参数确定为日志类型标识符;
S205,当日志类型标识符为通用数据库模板的日志类型标识符时,将通用数据库模板确定为目标日志模板;或者,当日志类型标识符为自定义模板序列的日志类型标识符时,根据自定义模板序列确定目标日志模板;
S206,根据系统操作请求对应的业务逻辑代码生成系统操作数据;
S207,将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,并将操作日志进行持久化存储;
S208,在接收到针对日志数据库的查询指令时,根据查询指令提取待展示操作日志数据;
S209,定位待展示操作日志数据中的多个目标关键字符以及时间参数;基于预设关键字字符等级判断规则确定每个目标关键字符的重要度;根据每个目标关键字符的重要度以及时间参数绘制出时序图;根据时序图以图形化模式展示待展示操作日志数据中的内容。
在本申请实施例中,日志记录系统首先在接收到系统操作请求时,根据该请求确定日志类型标识符,然后根据日志类型标识符在预设日志模板库中确定目标日志模板,其次根据系统操作请求对应的业务逻辑代码生成系统操作数据,最后将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,将操作日志进行存储。由于本申请通过确定业务逻辑代码中的日志类型标识符,并结合业务代码之外的预设日志模板库对系统操作数据进行日志转化,使得仅在业务逻辑代码中设置一个标识符就能完成操作日志记录,避免了在业务逻辑代码中大量嵌入操作日志记录代码片段,从而提升了系统平台的稳定性。
下述为本发明系统实施例,可以用于执行本发明方法实施例。对于本发明系统实施例中未披露的细节,请参照本发明方法实施例。
请参见图6,其示出了本发明一个示例性实施例提供的日志记录系统的结构示意图。该日志记录系统可以通过软件、硬件或者两者的结合实现成为设备的全部或一部分。该系统1包括日志类型标识符确定模块10、目标日志模板确定模块20、系统操作数据生成模块30、操作日志持久化存储模块40。
日志类型标识符确定模块10,用于接收客户端发送的系统操作请求,根据系统操作请求确定日志类型标识符;
目标日志模板确定模块20,用于根据日志类型标识符在预设日志模板库中确定目标日志模板;其中,预设日志模板库包括通用数据库模板以及自定义模板序列;
系统操作数据生成模块30,用于根据系统操作请求对应的业务逻辑代码生成系统操作数据;
操作日志持久化存储模块40,用于将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,并将操作日志进行持久化存储。
需要说明的是,上述实施例提供的日志记录系统在执行日志记录方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的日志记录系统与日志记录方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,日志记录系统首先在接收到系统操作请求时,根据该请求确定日志类型标识符,然后根据日志类型标识符在预设日志模板库中确定目标日志模板,其次根据系统操作请求对应的业务逻辑代码生成系统操作数据,最后将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,将操作日志进行存储。由于本申请通过确定业务逻辑代码中的日志类型标识符,并结合业务代码之外的预设日志模板库对系统操作数据进行日志转化,使得仅在业务逻辑代码中设置一个标识符就能完成操作日志记录,避免了在业务逻辑代码中大量嵌入操作日志记录代码片段,从而提升了系统平台的稳定性。
在一个实施例中,提出了一种计算机设备,设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收客户端发送的系统操作请求,根据所述系统操作请求确定日志类型标识符;
根据所述日志类型标识符在预设日志模板库中确定目标日志模板;其中,所述预设日志模板库包括通用数据库模板以及自定义模板序列;
根据所述系统操作请求对应的业务逻辑代码生成系统操作数据;
将所述系统操作数据填充至所述目标日志模板中,生成系统操作请求的操作日志,并将所述操作日志进行持久化存储。
在一个实施例中,处理器执行根据所述系统操作请求确定日志类型标识符时,具体执行以下操作:
解析所述系统操作请求,得到解析数据;
在解析数据中提取业务代码类名,并基于所述业务代码类名获取目标业务代码;
在所述目标业务代码中识别日志注解标签,并提取所述日志注解标签的赋值参数;
将所述赋值参数确定为日志类型标识符。
在一个实施例中,处理器执行根据所述日志类型标识符在预设日志模板库中确定目标日志模板时,具体执行以下操作:
当所述日志类型标识符为所述通用数据库模板的日志类型标识符时,将所述通用数据库模板确定为目标日志模板;
或者,
当所述日志类型标识符为所述自定义模板序列的日志类型标识符时,根据所述自定义模板序列确定目标日志模板。
在一个实施例中,处理器执行根据所述系统操作请求对应的业务逻辑代码生成系统操作数据时,具体执行以下操作:
执行所述目标业务代码,并确定所述目标业务代码的操作对象;
当所述操作对象为数据库时,基于所述日志注解标签的监听策略获取所述目标业务代码在执行过程中数据库中存在变化的数据;
将所述数据库中存在变化的数据确定为系统操作数据;
或者,
当所述操作对象不为数据库时,将所述目标业务代码的执行结果确定为系统操作数据。
在一个实施例中,处理器在执行将所述系统操作数据填充至所述目标日志模板中,生成系统操作请求的操作日志时,具体执行以下操作:
当所述目标日志模板为通用数据库模板且所述操作对象为数据库时,获取发出所述系统操作请求的用户标识;
获取所述通用数据库模板中的多个变量值;
根据所述数据库中存在变化的数据、所述用户标识的属性与所述多个变量值进行映射关联,生成系统操作请求的操作日志;
或者,
当所述目标日志模板为自定义模板序列中的自定义模板且所述操作对象不为数据库时,采用SPEL表达式对所述自定义模板进行解析;
通过预设自定义函数在解析后的模板数据中获取指定变量值,并将所述目标业务代码的执行结果与获取的指定变量值进行映射关联,得到系统操作请求的操作日志。
在一个实施例中,处理器执行根据所述自定义模板序列确定目标日志模板时,具体执行以下操作:
获取所述系统操作请求携带的第一业务功能描述文本;
将所述第一业务功能描述文本进行向量化表示,得到系统操作请求的目标文本向量;
获取所述自定义模板序列中每个自定义模板的第二业务功能描述文本;
将所述每个自定义模板的第二业务功能描述文本进行向量化表示,得到每个自定义模板的比对文本向量;
计算所述目标文本向量与所述每个自定义模板的比对文本向量之间的相似度,得到每个自定义模板的相似度;
根据所述每个自定义模板的相似度确定相似度最大的自定义模板,将所述相似度最大的自定义模板确定为目标日志模板。
在一个实施例中,处理器执行将所述操作日志进行持久化存储时,具体执行以下操作:
将所述操作日志缓存至队列消息服务中;
在所述队列消息服务中的队列消息的消息量到达预设阈值时,将所述队列消息发送至日志数据库进行存储;
在一个实施例中,处理器还执行以下操作:
在接收到针对日志数据库的查询指令时,根据所述查询指令提取待展示操作日志数据;
定位所述待展示操作日志数据中的多个目标关键字符以及时间参数;
基于预设关键字字符等级判断规则确定每个目标关键字符的重要度;
根据每个目标关键字符的重要度以及时间参数绘制出时序图;
根据所述时序图以图形化模式展示所述待展示操作日志数据中的内容。
在本申请实施例中,日志记录系统首先在接收到系统操作请求时,根据该请求确定日志类型标识符,然后根据日志类型标识符在预设日志模板库中确定目标日志模板,其次根据系统操作请求对应的业务逻辑代码生成系统操作数据,最后将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,将操作日志进行存储。由于本申请通过确定业务逻辑代码中的日志类型标识符,并结合业务代码之外的预设日志模板库对系统操作数据进行日志转化,使得仅在业务逻辑代码中设置一个标识符就能完成操作日志记录,避免了在业务逻辑代码中大量嵌入操作日志记录代码片段,从而提升了系统平台的稳定性。在一个实施例中,提出了一种存储有计算机可读指令的介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
接收客户端发送的系统操作请求,根据所述系统操作请求确定日志类型标识符;
根据所述日志类型标识符在预设日志模板库中确定目标日志模板;其中,所述预设日志模板库包括通用数据库模板以及自定义模板序列;
根据所述系统操作请求对应的业务逻辑代码生成系统操作数据;
将所述系统操作数据填充至所述目标日志模板中,生成系统操作请求的操作日志,并将所述操作日志进行持久化存储。
在一个实施例中,处理器执行根据所述系统操作请求确定日志类型标识符时,具体执行以下操作:
解析所述系统操作请求,得到解析数据;
在解析数据中提取业务代码类名,并基于所述业务代码类名获取目标业务代码;
在所述目标业务代码中识别日志注解标签,并提取所述日志注解标签的赋值参数;
将所述赋值参数确定为日志类型标识符。
在一个实施例中,处理器执行根据所述日志类型标识符在预设日志模板库中确定目标日志模板时,具体执行以下操作:
当所述日志类型标识符为所述通用数据库模板的日志类型标识符时,将所述通用数据库模板确定为目标日志模板;
或者,
当所述日志类型标识符为所述自定义模板序列的日志类型标识符时,根据所述自定义模板序列确定目标日志模板。
在一个实施例中,处理器执行根据所述系统操作请求对应的业务逻辑代码生成系统操作数据时,具体执行以下操作:
执行所述目标业务代码,并确定所述目标业务代码的操作对象;
当所述操作对象为数据库时,基于所述日志注解标签的监听策略获取所述目标业务代码在执行过程中数据库中存在变化的数据;
将所述数据库中存在变化的数据确定为系统操作数据;
或者,
当所述操作对象不为数据库时,将所述目标业务代码的执行结果确定为系统操作数据。
在一个实施例中,处理器在执行将所述系统操作数据填充至所述目标日志模板中,生成系统操作请求的操作日志时,具体执行以下操作:
当所述目标日志模板为通用数据库模板且所述操作对象为数据库时,获取发出所述系统操作请求的用户标识;
获取所述通用数据库模板中的多个变量值;
根据所述数据库中存在变化的数据、所述用户标识的属性与所述多个变量值进行映射关联,生成系统操作请求的操作日志;
或者,
当所述目标日志模板为自定义模板序列中的自定义模板且所述操作对象不为数据库时,采用SPEL表达式对所述自定义模板进行解析;
通过预设自定义函数在解析后的模板数据中获取指定变量值,并将所述目标业务代码的执行结果与获取的指定变量值进行映射关联,得到系统操作请求的操作日志。
在一个实施例中,处理器执行根据所述自定义模板序列确定目标日志模板时,具体执行以下操作:
获取所述系统操作请求携带的第一业务功能描述文本;
将所述第一业务功能描述文本进行向量化表示,得到系统操作请求的目标文本向量;
获取所述自定义模板序列中每个自定义模板的第二业务功能描述文本;
将所述每个自定义模板的第二业务功能描述文本进行向量化表示,得到每个自定义模板的比对文本向量;
计算所述目标文本向量与所述每个自定义模板的比对文本向量之间的相似度,得到每个自定义模板的相似度;
根据所述每个自定义模板的相似度确定相似度最大的自定义模板,将所述相似度最大的自定义模板确定为目标日志模板。
在一个实施例中,处理器执行将所述操作日志进行持久化存储时,具体执行以下操作:
将所述操作日志缓存至队列消息服务中;
在所述队列消息服务中的队列消息的消息量到达预设阈值时,将所述队列消息发送至日志数据库进行存储;
在一个实施例中,处理器还执行以下操作:
在接收到针对日志数据库的查询指令时,根据所述查询指令提取待展示操作日志数据;
定位所述待展示操作日志数据中的多个目标关键字符以及时间参数;
基于预设关键字字符等级判断规则确定每个目标关键字符的重要度;
根据每个目标关键字符的重要度以及时间参数绘制出时序图;
根据所述时序图以图形化模式展示所述待展示操作日志数据中的内容。
在本申请实施例中,日志记录系统首先在接收到系统操作请求时,根据该请求确定日志类型标识符,然后根据日志类型标识符在预设日志模板库中确定目标日志模板,其次根据系统操作请求对应的业务逻辑代码生成系统操作数据,最后将系统操作数据填充至目标日志模板中,生成系统操作请求的操作日志,将操作日志进行存储。由于本申请通过确定业务逻辑代码中的日志类型标识符,并结合业务代码之外的预设日志模板库对系统操作数据进行日志转化,使得仅在业务逻辑代码中设置一个标识符就能完成操作日志记录,避免了在业务逻辑代码中大量嵌入操作日志记录代码片段,从而提升了系统平台的稳定性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性介质,或随机存储记忆体(RandomAccess Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种日志记录方法,其特征在于,所述方法包括:
接收客户端发送的系统操作请求,根据所述系统操作请求确定日志类型标识符;
根据所述日志类型标识符在预设日志模板库中确定目标日志模板;其中,所述预设日志模板库包括通用数据库模板以及自定义模板序列;
根据所述系统操作请求对应的业务逻辑代码生成系统操作数据;
将所述系统操作数据填充至所述目标日志模板中,生成系统操作请求的操作日志,并将所述操作日志进行持久化存储。
2.根据权利要求1所述的方法,其特征在于,所述根据所述系统操作请求确定日志类型标识符,包括:
解析所述系统操作请求,得到解析数据;
在解析数据中提取业务代码类名,并基于所述业务代码类名获取目标业务代码;
在所述目标业务代码中识别日志注解标签,并提取所述日志注解标签的赋值参数;
将所述赋值参数确定为日志类型标识符。
3.根据权利要求1所述的方法,其特征在于,所述根据所述日志类型标识符在预设日志模板库中确定目标日志模板,包括:
当所述日志类型标识符为所述通用数据库模板的日志类型标识符时,将所述通用数据库模板确定为目标日志模板;
或者,
当所述日志类型标识符为所述自定义模板序列的日志类型标识符时,根据所述自定义模板序列确定目标日志模板。
4.根据权利要求2所述的方法,其特征在于,所述根据所述系统操作请求对应的业务逻辑代码生成系统操作数据,包括:
执行所述目标业务代码,并确定所述目标业务代码的操作对象;
当所述操作对象为数据库时,基于所述日志注解标签的监听策略获取所述目标业务代码在执行过程中数据库中存在变化的数据;
将所述数据库中存在变化的数据确定为系统操作数据;
或者,
当所述操作对象不为数据库时,将所述目标业务代码的执行结果确定为系统操作数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述系统操作数据填充至所述目标日志模板中,生成系统操作请求的操作日志,包括:
当所述目标日志模板为通用数据库模板且所述操作对象为数据库时,获取发出所述系统操作请求的用户标识;
获取所述通用数据库模板中的多个变量值;
根据所述数据库中存在变化的数据、所述用户标识的属性与所述多个变量值进行映射关联,生成系统操作请求的操作日志;
或者,
当所述目标日志模板为自定义模板序列中的自定义模板且所述操作对象不为数据库时,采用SPEL表达式对所述自定义模板进行解析;
通过预设自定义函数在解析后的模板数据中获取指定变量值,并将所述目标业务代码的执行结果与获取的指定变量值进行映射关联,得到系统操作请求的操作日志。
6.根据权利要求3所述的方法,其特征在于,所述根据所述自定义模板序列确定目标日志模板,包括:
获取所述系统操作请求携带的第一业务功能描述文本;
将所述第一业务功能描述文本进行向量化表示,得到系统操作请求的目标文本向量;
获取所述自定义模板序列中每个自定义模板的第二业务功能描述文本;
将所述每个自定义模板的第二业务功能描述文本进行向量化表示,得到每个自定义模板的比对文本向量;
计算所述目标文本向量与所述每个自定义模板的比对文本向量之间的相似度,得到每个自定义模板的相似度;
根据所述每个自定义模板的相似度确定相似度最大的自定义模板,将所述相似度最大的自定义模板确定为目标日志模板。
7.根据权利要求1所述的方法,其特征在于,所述将所述操作日志进行持久化存储,包括:
将所述操作日志缓存至队列消息服务中;
在所述队列消息服务中的队列消息的消息量到达预设阈值时,将所述队列消息发送至日志数据库进行存储;
所述方法还包括:
在接收到针对日志数据库的查询指令时,根据所述查询指令提取待展示操作日志数据;
定位所述待展示操作日志数据中的多个目标关键字符以及时间参数;
基于预设关键字字符等级判断规则确定每个目标关键字符的重要度;
根据每个目标关键字符的重要度以及时间参数绘制出时序图;
根据所述时序图以图形化模式展示所述待展示操作日志数据中的内容。
8.一种日志记录系统,其特征在于,所述系统包括:
日志类型标识符确定模块,用于接收客户端发送的系统操作请求,根据所述系统操作请求确定日志类型标识符;
目标日志模板确定模块,用于根据所述日志类型标识符在预设日志模板库中确定目标日志模板;其中,所述预设日志模板库包括通用数据库模板以及自定义模板序列;
系统操作数据生成模块,用于根据所述系统操作请求对应的业务逻辑代码生成系统操作数据;
操作日志持久化存储模块,用于将所述系统操作数据填充至所述目标日志模板中,生成系统操作请求的操作日志,并将所述操作日志进行持久化存储。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述日志记录方法的步骤。
10.一种存储有计算机可读指令的介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述日志记录的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211269851.7A CN115757054A (zh) | 2022-10-18 | 2022-10-18 | 一种日志记录方法、系统、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211269851.7A CN115757054A (zh) | 2022-10-18 | 2022-10-18 | 一种日志记录方法、系统、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115757054A true CN115757054A (zh) | 2023-03-07 |
Family
ID=85351710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211269851.7A Pending CN115757054A (zh) | 2022-10-18 | 2022-10-18 | 一种日志记录方法、系统、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115757054A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578650A (zh) * | 2023-07-11 | 2023-08-11 | 太平金融科技服务(上海)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
-
2022
- 2022-10-18 CN CN202211269851.7A patent/CN115757054A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578650A (zh) * | 2023-07-11 | 2023-08-11 | 太平金融科技服务(上海)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103198090A (zh) | 用于优化虚拟桌面环境中的存储分配的方法和系统 | |
CN111078507A (zh) | 数据监控方法、系统、计算机设备和存储介质 | |
CN113157947A (zh) | 知识图谱的构建方法、工具、装置和服务器 | |
CN112529100B (zh) | 多分类模型的训练方法、装置、电子设备及存储介质 | |
CN113157315A (zh) | 一种软件不同版本的差异信息识别方法、装置、设备及介质 | |
CN112506486A (zh) | 搜索系统建立方法、装置、电子设备及可读存储介质 | |
CN115757054A (zh) | 一种日志记录方法、系统、计算机设备及介质 | |
CN115455058A (zh) | 缓存数据的处理方法、装置、计算机设备及存储介质 | |
CN112558966B (zh) | 深度模型可视化数据的处理方法、装置及电子设备 | |
CN117435999A (zh) | 一种风险评估方法、装置、设备以及介质 | |
CN112613072A (zh) | 基于档案大数据的信息管理方法、管理系统及管理云平台 | |
CN115168848B (zh) | 基于大数据分析拦截的拦截反馈处理方法 | |
CN111597336A (zh) | 训练文本的处理方法、装置、电子设备及可读存储介质 | |
CN115544050A (zh) | 操作日志记录方法、装置、设备及存储介质 | |
CN113419687B (zh) | 一种对象存储方法、系统、设备及存储介质 | |
CN115687136A (zh) | 一种脚本程序处理方法、系统、计算机设备及介质 | |
CN111737090B (zh) | 日志仿真方法、装置、计算机设备和存储介质 | |
US20220269814A1 (en) | Discovery of personal data in machine learning models | |
CN112052234B (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN109727142A (zh) | 保险投保方法、系统、设备及存储介质 | |
CN114282940A (zh) | 用于意图识别的方法及装置、存储介质及电子设备 | |
CN114756564B (zh) | 用于流式计算的数据处理方法、装置、设备及介质 | |
CN113298636B (zh) | 一种基于模拟资源申请的风险控制方法、装置和系统 | |
CN115221853A (zh) | 一种可视化图表优化方法、系统、计算机设备及介质 | |
CN116594624A (zh) | 一种指令代码的转译方法、系统、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |