CN111143310A - 日志记录方法及装置、可读存储介质 - Google Patents
日志记录方法及装置、可读存储介质 Download PDFInfo
- Publication number
- CN111143310A CN111143310A CN201811311970.8A CN201811311970A CN111143310A CN 111143310 A CN111143310 A CN 111143310A CN 201811311970 A CN201811311970 A CN 201811311970A CN 111143310 A CN111143310 A CN 111143310A
- Authority
- CN
- China
- Prior art keywords
- log
- service
- logging
- library file
- processing
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种日志记录方法及装置、可读存储介质,所述日志记录方法包括:获取业务日志;调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成;记录处理后的业务日志。采用上述方案,可以方便、高效、规范地记录日志。
Description
技术领域
本发明属于数据处理技术领域,特别涉及一种日志记录方法及装置、可读存储介质。
背景技术
随着互联网的迅猛发展,各类基于互联网的应用系统不断增多,各类应用系统的日志记录及分析也愈发重要。特别是对于目前的大数据时代,记录和提取有价值的日志,以便于追踪问题、分析业务日志,可以更好的提高软件或应用系统自身的性能,进而提升用户体验。
但是,由于各种原因(例如应用系统由多人共同开发,日志记录标准不统一等),目前应用系统的日志记录不够规范,同时也不易于读取和管理。
发明内容
本发明实施例解决的是如何方便、高效、规范地记录日志。
为解决上述技术问题,本发明实施例提供一种日志记录方法,日志记录方法包括:获取业务日志;调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成;记录处理后的业务日志。
可选的,所述日志模板采用以下任一种格式配置:XML、JSON、HTML。
可选的,所述日志处理逻辑包括以下至少一种:日志级别设置、日志存储介质、日志写入方式、字段加密方式、序列化方式和日志压缩方式。
可选的,所述日志处理库文件设置对外统一接口。
可选的,所述调用独立的日志处理库文件对所述业务日志进行处理,包括:将所述业务日志的字段与所述日志模板的字段进行映射,通过所述日志处理逻辑处理映射后的业务日志。
可选的,所述记录处理后的业务日志,采用以下至少一种格式记录处理后的业务日志:文件、Kafka、数据库、Hadoop以及HBase。
可选的,记录处理后的业务日志之后,还包括:获得所述记录的业务日志;调用所述日志处理库文件,读取并解析所述记录的业务日志。
为解决上述技术问题,本发明实施例还公开了一种日志记录装置,日志记录装置包括:获取单元,用于获取业务日志;处理单元,用于调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成;记录单元,用于记录处理后的业务日志。
可选的,所述日志模板采用以下任一种格式配置:XML、JSON、HTML。
可选的,所述日志处理逻辑包括以下至少一种:日志级别设置、日志存储介质、日志写入方式、字段加密方式、序列化方式和日志压缩方式。
可选的,所述日志处理库文件设置对外统一接口。
可选的,所述处理单元,用于:将所述业务日志的字段与所述日志模板的字段进行映射,通过所述日志处理逻辑处理映射后的业务日志。
可选的,所述记录单元,用于记录处理后的业务日志,采用以下至少一种格式记录处理后的业务日志:文件、Kafka、数据库、Hadoop以及HBase。
可选的,所述记录单元,还用于:获得所述记录的业务日志;调用所述日志处理库文件,读取并解析所述记录的业务日志。
本发明实施例还公开了一种可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种所述的日志记录方法的步骤。
本发明实施例还提供了一种日志记录装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一种所述的日志记录方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成,以统一的日志记录规范记录日志,有利于对应用系统各类业务日志的规范管理;同时,将所述日志处理逻辑封装为独立的日志处理库文件,与应用系统的业务逻辑分离,避免了对应用系统的业务逻辑侵入式的日志记录方式,以至于影响应用系统的数据处理速度,进而达到方便、高效记录业务日志。
进一步,采用对外统一接口,调用日志处理库文件以处理业务日志,保证了应用系统各类业务日志都可以规范统一地记录、存储。
进一步,调用所述日志处理库文件,读取并解析所述记录的业务日志,使后续对记录的业务日志的解析过程同样达到了方便、高效、规范的效果。
附图说明
图1是本发明实施例一种日志记录方法的流程图;
图2是本发明实施例一种日志记录装置的结构示意图。
具体实施方式
现有技术中,由于各种原因(例如应用系统由多人共同开发,日志记录标准不统一等),目前应用系统的日志记录不够规范,同时也不易于读取和管理。
本发明实施例中,调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成,以统一的日志记录规范记录日志,有利于对应用系统各类业务日志的规范管理;同时,将所述日志模板解析和所述日志处理逻辑封装为独立的日志处理库文件,与应用系统的业务逻辑分离,避免了对应用系统的业务逻辑侵入式的日志记录方式,以至于影响应用系统的数据处理速度,进而达到方便、高效记录业务日志。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供了一种日志记录方法,参照图1,以下通过具体步骤进行详细说明。
本发明实施例中提供的日志记录方法可以应用于各类需要记录日志的应用系统,例如网络设备、系统及服务程序等。
步骤S101,获取业务日志。
在具体实施中,可以获取应用系统的业务日志,即应用系统每项不同的业务对应的日志,例如应用程序中,包括注册业务和交易业务,那么获取的日志可以是应用程序的注册日志或交易日志,可以理解的是,根据用户的不同需求,可以获取不同类型业务的日志,本发明在此不作赘述。
步骤S102,调用独立的日志处理库文件对所述业务日志进行处理。
在具体实施中,所述日志处理库文件可以根据日志处理逻辑封装得到,而所述日志处理逻辑可以根据预设的日志模板构建生成。所述预设的日志模板由用户根据自身不同的业务需求自定义,例如用户所需求的不同的业务日志级别设置、日志存储介质、日志写入方式、字段加密方式、序列化方式和日志压缩方式等。再解析用户提供的自定义日志模板,从而构建对应的业务日志处理逻辑,日志处理逻辑可以包括:日志级别设置、日志存储介质、日志写入方式、字段加密方式、序列化方式和日志压缩方式。用户可以根据自身不同的业务自定义多个不同的业务日志模板,从而构建多个日志处理逻辑,最后将不同的日志处理逻辑封装在一个独立的日志处理库文件中。
首先,上述方法可以规范日志记录,有利于对应用系统各类业务日志的规范管理;其次,将所述日志处理逻辑封装为独立的日志处理库文件,与应用系统的业务逻辑分离,避免了对应用系统的业务逻辑侵入式的日志记录方式,以至于影响应用系统的数据处理速度,进而达到方便、高效记录业务日志;最后,在应用系统的开发阶段,使日志记录开发与应用系统的业务开发相互独立,避免各系统重复实现日志记录的逻辑,提高了开发效率,减少了应用代码,节省了应用系统的开发成本。
在具体实施中,所述日志模板可以采用以下任一种格式配置:可扩展标记语言(Extensible Markup Language,XML)、JavaScript对象表示法(JavaScript ObjectNotation,JSON)、超文本标记语言(HyperText Markup Language,HTML)。
在本发明一实施例中,采用XML格式配置所述日志模板,由于XML格式的日志模板相对于JSON格式等其他格式的模板,具有较好的可读性,可以方便地读取用户自定义的日志模板。其中,XML文档根节点可以指定名称,也可以根据用户的实际业务需要指定其它名称,用于标识应用或日志对应的存储目录、文件名称。而首个子节点定义日志的存储介质,通过其元素节点定义与介质对应的信息,可选的存储介质包括但不仅限于文件、分布式发布订阅消息系统Kafka、数据库、分布式系统基础架构Hadoop、开源数据库HBase等。例如,存储介质为Kafka,则需要定义与Kafka集群连接的元素节点,同时也可以定义一个表示Kafka主题的元素节点。如果元素节点指定了主题,则会覆盖由根节点定义的名称。再比如存储介质是文件,则通过元素节点定义文件路径(本地或远程)、文件名称,若指定了文件名称,则后面指定的文件名称会覆盖根节点定义的名称。同时,文档中根节点的其它子节点指定具体业务日志,若有用户多个业务需要分别记录日志,则定义多个业务节点。各业务节点可以通过属性指定日志级别(日志级别与计算机编程语言日志LOG4J的日志级别相同)、日志写入方式(同步/异步)、日志序列化方式、日志内容是否压缩等。业务节点的元素节点则定义该业务需要记录的日志字段,通过属性字段指定是否加密及加密算法。
在实际应用中,也可以采用JSON格式配置所述日志模板,该格式的可读性不如XML格式,但对配置文件解析及数据字段映射时较为方便;同样的,用户根据自身的实际情况,也可选择其他格式(例如HTML)配置所述日志模板,本发明在此不作赘述。
在具体实施中,所述日志处理库文件可以设置对外统一接口,采用对外统一接口,调用日志处理库文件以处理业务日志,保证了应用系统各类业务日志都可以规范统一地记录、存储。
在具体实施中,可以将所述业务日志的字段与所述日志模板的字段进行映射,通过所述日志处理逻辑处理映射后的业务日志。根据日志处理逻辑包含的存储介质、日志写入方式、日志序列化方式、日志压缩方式等处理逻辑处理业务日志,例如,配置了日志字段加密,则对该字段进行加密;配置了序列化方式,则对整条日志进行序列化操作等。该过程可以通过开源框架XStream进行处理,可以理解的是,用户也可以根据自身的实际情况,选择其他日志处理平台进行日志字段映射及日志处理,本发明在此不作赘述。
步骤S103,记录处理后的业务日志。
在具体实施中,可以对处理后的业务日志进行记录,可以采用以下至少一种格式记录处理后的业务日志:文件、Kafka、数据库、Hadoop以及HBase,同样的,根据用户的不同需求,可以采用其他现有的记录格式来记录业务日志,本发明在此不作赘述。
由上可知,调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成,以统一的日志记录规范记录日志,有利于对应用系统各类业务日志的规范管理;同时,将所述日志模板解析和所述日志处理逻辑封装为独立的日志处理库文件,与应用系统的业务逻辑分离,避免了对应用系统的业务逻辑侵入式的日志记录方式,以至于影响应用系统的数据处理速度,进而达到方便、高效记录业务日志。
在具体实施中,在记录处理后的业务日志之后,还可以包括:获得所述记录的业务日志;调用所述日志处理库文件,读取并解析所述记录的业务日志,因所述日志处理库文件中包含记录日志的处理逻辑,调用该库文件,对记录好的日志进行读取和解析,可以使后续对记录的业务日志的解析过程同样达到了方便、高效、规范的效果。
参照图2,本发明实施例还提供了一种日志记录装置20,包括获取单元201、处理单元202和记录单元203,其中:
所述获取单元201,用于获取业务日志;
所述处理单元202,用于调用独立的日志处理库文件对所述业务日志进行处理;
所述记录单元203,用于记录处理后的业务日志。
在具体实施中,所述日志模板可以采用以下任一种格式配置:XML、JSON、HTML。
在具体实施中,所述日志处理逻辑可以包括以下至少一种:日志级别设置、日志存储介质、日志写入方式、字段加密方式、序列化方式和日志压缩方式。
在具体实施中,所述日志处理库文件可以设置对外统一接口。
在具体实施中,所述处理单元202,可以用于:将所述业务日志的字段与所述日志模板的字段进行映射,通过所述日志处理逻辑处理映射后的业务日志。
在具体实施中,所述记录单元203,可以用于记录处理后的业务日志,可以采用以下至少一种格式记录处理后的业务日志:文件、Kafka、数据库、Hadoop以及HBase。
在具体实施中,所述记录单元203,还可以用于:获得所述记录的业务日志;调用所述日志处理库文件,读取并解析所述记录的业务日志。
本发明实施例还提供了一种可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,所述计算机指令运行时执行本发明上述实施例中提供的日志记录方法的步骤。
本发明实施例还提供了一种日志记录装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所示计算机指令时,执行本发明上述实施例中提供的所述的日志记录方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于任一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (16)
1.一种日志记录方法,其特征在于,包括:
获取业务日志;
调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成;
记录处理后的业务日志。
2.如权利要求1所述的日志记录方法,其特征在于,所述日志模板采用以下任一种格式配置:XML、JSON、HTML。
3.如权利要求1所述的日志记录方法,其特征在于,所述日志处理逻辑包括以下至少一种:日志级别设置、日志存储介质、日志写入方式、字段加密方式、序列化方式和日志压缩方式。
4.如权利要求1所述的日志记录方法,其特征在于,所述日志处理库文件设置对外统一接口。
5.如权利要求1所述的日志记录方法,其特征在于,所述调用独立的日志处理库文件对所述业务日志进行处理,包括:
将所述业务日志的字段与所述日志模板的字段进行映射,通过所述日志处理逻辑处理映射后的业务日志。
6.如权利要求1所述的日志记录方法,其特征在于,所述记录处理后的业务日志,采用以下至少一种格式记录处理后的业务日志:文件、Kafka、数据库、Hadoop以及HBase。
7.如权利要求1所述的日志记录方法,其特征在于,记录处理后的业务日志之后,还包括:
获得所述记录的业务日志;
调用所述日志处理库文件,读取并解析所述记录的业务日志。
8.一种日志记录装置,其特征在于,包括:
获取单元,用于获取业务日志;
处理单元,用于调用独立的日志处理库文件对所述业务日志进行处理;所述日志处理库文件根据日志处理逻辑封装得到,且所述日志处理逻辑是根据预设的日志模板构建生成;
记录单元,用于记录处理后的业务日志。
9.如权利要求8所述的日志记录装置,其特征在于,所述日志模板采用以下任一种格式配置:XML、JSON、HTML。
10.如权利要求8所述的日志记录装置,其特征在于,所述日志处理逻辑包括以下至少一种:日志级别设置、日志存储介质、日志写入方式、字段加密方式、序列化方式和日志压缩方式。
11.如权利要求8所述的日志记录装置,其特征在于,所述日志处理库文件设置对外统一接口。
12.如权利要求8所述的日志记录装置,其特征在于,所述处理单元,用于:将所述业务日志的字段与所述日志模板的字段进行映射,通过所述日志处理逻辑处理映射后的业务日志。
13.如权利要求8所述的日志记录装置,其特征在于,所述记录单元,用于记录处理后的业务日志,采用以下至少一种格式记录处理后的业务日志:文件、Kafka、数据库、Hadoop以及HBase。
14.如权利要求8所述的日志记录装置,其特征在于,所述记录单元,还用于:获得所述记录的业务日志;调用所述日志处理库文件,读取并解析所述记录的业务日志。
15.一种可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至7中任一项所述的日志记录方法的步骤。
16.一种日志记录装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至7任一项所述的日志记录方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811311970.8A CN111143310B (zh) | 2018-11-06 | 2018-11-06 | 日志记录方法及装置、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811311970.8A CN111143310B (zh) | 2018-11-06 | 2018-11-06 | 日志记录方法及装置、可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143310A true CN111143310A (zh) | 2020-05-12 |
CN111143310B CN111143310B (zh) | 2021-05-14 |
Family
ID=70515845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811311970.8A Active CN111143310B (zh) | 2018-11-06 | 2018-11-06 | 日志记录方法及装置、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143310B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767200A (zh) * | 2020-06-23 | 2020-10-13 | 平安普惠企业管理有限公司 | 基于业务日志处理业务的方法、装置、计算机设备 |
CN113806322A (zh) * | 2021-09-30 | 2021-12-17 | 北京蓝海医信科技有限公司 | 一种多类型日志记录系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070739A1 (en) * | 2014-09-10 | 2016-03-10 | Ca, Inc, | Batch processed data structures in a log repository referencing a template repository and an attribute repository |
CN106168909A (zh) * | 2016-06-30 | 2016-11-30 | 北京奇虎科技有限公司 | 一种日志的处理方法和装置 |
CN106326082A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 网络系统中记录日志的方法和装置 |
-
2018
- 2018-11-06 CN CN201811311970.8A patent/CN111143310B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070739A1 (en) * | 2014-09-10 | 2016-03-10 | Ca, Inc, | Batch processed data structures in a log repository referencing a template repository and an attribute repository |
CN106326082A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 网络系统中记录日志的方法和装置 |
CN106168909A (zh) * | 2016-06-30 | 2016-11-30 | 北京奇虎科技有限公司 | 一种日志的处理方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767200A (zh) * | 2020-06-23 | 2020-10-13 | 平安普惠企业管理有限公司 | 基于业务日志处理业务的方法、装置、计算机设备 |
CN113806322A (zh) * | 2021-09-30 | 2021-12-17 | 北京蓝海医信科技有限公司 | 一种多类型日志记录系统 |
CN113806322B (zh) * | 2021-09-30 | 2024-06-25 | 北京蓝海医信科技有限公司 | 一种多类型日志记录系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111143310B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468391B2 (en) | Utilizing log event ontology to deliver user role specific solutions for problem determination | |
US20140101632A1 (en) | Open application lifecycle management framework | |
US8019791B2 (en) | Method and system for transforming metadata modeled in the common information model into grid control target metadata | |
US8645913B2 (en) | Web-service based generation of business objects | |
US8713368B2 (en) | Methods for testing OData services | |
CN107451103B (zh) | 模板显示和修改方法及设备 | |
US20110078203A1 (en) | System and method for application navigation | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN111143310B (zh) | 日志记录方法及装置、可读存储介质 | |
CN111865881A (zh) | 一种接口转换方法、装置、介质及计算机设备 | |
CN114168149A (zh) | 一种数据转换方法及装置 | |
US8972487B2 (en) | Automated framework for testing enterprise services consumer technologies | |
CN115277657A (zh) | 一种数据库协议运维的方法及设备 | |
US20070092069A1 (en) | Method and system for testing enterprise applications | |
CN113721910A (zh) | 界面代码生成方法、装置、电子设备和计算机可读介质 | |
CN117609060A (zh) | 录制脚本生成方法、装置、计算机设备和存储介质 | |
CN113326305A (zh) | 一种处理数据的方法和装置 | |
KR100762712B1 (ko) | 규칙기반의 전자문서 변환방법 및 그 시스템 | |
CN112582073A (zh) | 医疗信息获取方法、装置、电子设备和介质 | |
CN113672233B (zh) | 一种基于Redfish的服务器带外管理方法、装置及设备 | |
CN112883088A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US20190188063A1 (en) | Mapping computer programs to network protocol methods | |
CN112905617B (zh) | 数据写入方法、服务器及计算机可读存储介质 | |
CN110740046B (zh) | 分析服务契约的方法和装置 | |
CN113778886B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |