CN111949472A - 一种记录应用日志的方法及装置 - Google Patents

一种记录应用日志的方法及装置 Download PDF

Info

Publication number
CN111949472A
CN111949472A CN201910412428.XA CN201910412428A CN111949472A CN 111949472 A CN111949472 A CN 111949472A CN 201910412428 A CN201910412428 A CN 201910412428A CN 111949472 A CN111949472 A CN 111949472A
Authority
CN
China
Prior art keywords
application
log
recording
configuration file
configuration
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
Application number
CN201910412428.XA
Other languages
English (en)
Inventor
杜刚
杨林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910412428.XA priority Critical patent/CN111949472A/zh
Publication of CN111949472A publication Critical patent/CN111949472A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种记录应用日志的方法及装置,涉及计算机技术领域。该方法的一具体实施方式包括:引入用于记录应用日志的软件开发工具包,读取用于记录应用日志的配置文件,根据该配置文件,在应用启动后,记录该应用的日志,然后将应用日志发送至存储单元。该实施方式能够提供对记录应用日志进行统一的配置,并支持实时更改该配置,避免用于生成应用日志的重复代码,从而降低了由于记录日志而对应用本身产生的不利影响。

Description

一种记录应用日志的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种记录应用日志的方法及装置。
背景技术
现有技术方案中的记录应用日志的方法,基本都是每个应用根据业务需要,通过增加拦截器或者标签的方法,将应用日志直接写入数据库或者发送到消息队列中进行消费并存储。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1.没有统一的配置,不利于后续的审计和分析。
2.不能实时更改关于记录应用日志的配置,例如当需要增减记录某些操作日志,需要修改并更新应用。
3.存在重复代码,每个应用都需要增加拦截器或者标签,加大了应用开发的负担。
4.对于直接将应用日志写入数据库的场景,当日志产生频繁时,对当前应用的性能产生较大的不利影响。
发明内容
有鉴于此,本发明实施例提供一种记录应用日志的方法及装置,能够提供对记录应用日志进行统一的配置,并支持实时更改该配置,避免用于生成应用日志的重复代码,从而降低了由于记录日志而对当前应用的性能产生的不利影响。
为实现上述目的,根据本发明实施例的一个方面,提供了一种记录应用日志的方法,包括:引入用于记录应用日志的软件开发工具包;读取用于记录应用日志的配置文件;根据配置文件,在应用启动后,记录应用的日志;将应用日志发送至存储单元。
进一步地,在应用启动后,周期性读取配置文件。
进一步地,在应用启动后,监听配置文件是否更新,根据更新后的配置文件,记录应用的日志。
进一步地,日志被解析,解析后得到的日志信息被记录至数据库。
进一步地,配置文件包括下列中的一个或多个:应用的应用信息、模块信息以及方法信息。
进一步地,利用消息队列将日志发送至存储单元。
根据本发明实施例的另一方面,本发明实施例提供了一种记录应用日志的系统,包括应用单元、配置单元和存储单元;其中,应用单元,用于引入用于记录应用日志的软件开发工具包,从配置单元中读取用于记录应用日志的配置文件,根据配置文件,记录应用的日志,应用日志发送至存储单元;配置单元,用于生成配置文件;存储单元,用于接收并存储应用日志。
进一步地,在应用启动后,应用单元周期性读取配置文件。
进一步地,在应用启动后,应用单元监听配置文件是否更新,根据更新后的配置文件,记录应用的日志。
进一步地,存储单元对日志进行解析,并将解析后得到的日志信息记录至数据库。
进一步地,配置文件包括下列中的一个或多个:应用的应用信息、模块信息以及方法信息。
进一步地,应用单元利用消息队列将日志发送至存储单元。
根据本发明实施例的一方面,提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述记录应用日志的方法中任一的方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述记录应用日志的方法中任一的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用引入用于记录应用日志的软件开发工具包,读取用于记录应用日志的配置文件,根据配置文件,在应用启动后,记录应用的日志,将应用日志发送至存储单元的技术手段。由此,通过引入记录应用日志的软件开发工具包有效避免了用于生成应用日志的重复代码,提升了应用的运行效率;通过读取配置文件,提供了对记录应用日志的统一配置,并支持实时更改该配置;通过将应用日志发送至存储单元,进一步降低了由于记录日志对当前应用的性能产生的不利影响。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例提供的一种记录应用日志的方法的主要流程图;
图2是根据本发明第二实施例提供的一种记录应用日志的方法的主要流程图;
图3是根据本发明实施例提供的一种记录应用日志的系统的主要结构示意图;
图4是根据本发明实施例提供的应用于图3所述的记录应用日志系统的记录应用日志的方法的主要流程图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明第一实施例提供的一种记录应用日志的方法的主要流程图,如图1所示,本发明实施例提供了一种记录应用日志的方法,主要包括以下步骤:
步骤S101,引入用于记录应用日志的软件开发工具包。
进一步地,在引入用于记录应用日志的软件开发工具包后,上述方法还包括实现部分日志接口,以继承上述软件开发工具包所提供的抽象类,同时实现调用软件开发工具包所提供的记录应用日志的方法。通过上述步骤,避免了用于生成应用日志的重复代码,从而降低了由于记录日志而对当前应用的性能产生的不利影响。
步骤S102,读取用于记录应用日志的配置文件。
根据本发明实施例的一实施方式,在应用启动后,周期性读取配置文件。由此,使得应用能够定时获取最新的配置信息,实现了应用在线更新配置,避免了额外的发布上线。
根据本发明实施例的一实施方式,配置文件包括下列中的一个或多个:应用的应用信息、模块信息以及方法信息。配置文件提供了各应用的用于记录应用日志的配置信息,实现了各应用配置的统一管理。
根据本发明实施例的一实施方式,在应用启动后,监听配置文件是否更新,根据更新后的配置文件,记录应用的日志。通过上述步骤,实现了应用实时获取最新的配置信息,适用于对记录应用日志的配置的即时性要求高的场景。
步骤S103,根据配置文件,在应用启动后,记录应用的日志。
步骤S104,将应用日志发送至存储单元。通过将应用日志发送至存储单元,避免了将应用日志储存在该应用中,提升了该应用的运行效率,进一步降低了由于记录日志对当前应用的性能产生的不利影响。
根据本发明实施例的一实施方式,日志被解析,解析后得到的日志信息被记录至数据库。通过对日志信息进行解析,能够对日志的数量进行进一步筛选,提高日志记录的效率,增加存储单元的存储空间。
根据本发明实施例的一实施方式,利用消息队列将日志发送至存储单元。通过消息队列的方式将上述日志发送至存储单元,进一步降低了记录日志对当前应用的性能的不利影响。在一具体实施方式中,应用日志以异步的方式写入消息队列。通过异步的方式保证了当前应用日志的写入不受消息队列影响,同时还可以使得消息队列暂存日志数据,不仅避免了应用日志的丢失,还有效降低了应用日志剧增所导致的峰值,提高了应用日志的写入效率。
因为采用引入用于记录应用日志的软件开发工具包,读取用于记录应用日志的配置文件,根据配置文件,在应用启动后,记录应用的日志,将应用日志发送至存储单元的技术手段。由此,通过引入记录应用日志的软件开发工具包有效避免了用于生成应用日志的重复代码,提升了应用的运行效率;通过读取配置文件,提供了对记录应用日志的统一配置,并支持实时更改该配置;通过将应用日志发送至存储单元,进一步降低了记录日志对当前应用的性能产生的不利影响。
图2是根据本发明第二实施例提供的一种记录应用日志的方法的主要流程图;如图2所示,本发明实施例提供了一种记录应用日志的方法,包括:
步骤S201,引入用于记录应用日志的sdk。通过把日志记录所需相关类提取成公共类,并封装成sdk(Software Development Kit,软件开发工具包),各应用只需引入该软件开发工具包即可,避免了用于生成应用日志的重复代码的写入。
步骤S202,实现部分日志接口。实现部分日志接口的步骤包括日志切面类和日志上报类,其中,日志切面类继承公共类中的抽象类,用于实现获取操作用户的方法和实现调用日志上报类的方法,日志上报类通过调用公共类中的日志记录方法生成日志,并将日志上报至日志记录系统。sdk中包括用于日志记录的公共类,然后通过实现部分日志接口,能够继承sdk提供的抽象类,还可以实现非公共类的日志记录方法。
步骤S203,增加配置文件,完成sdk中类的初始化。由于sdk中的类无法自动加载至应用的框架中,因此通过将sdk中的类定义到配置文件中,在应用启动时加载该配置文件,从而完成sdk中类的初始化。
根据本发明实施例的一实施方式中,所需进行初始化的sdk中的类包括:日志记录配置类,通过应用代码,从配置中心系统中获取相对应应用的配置信息;日志切面类继承公共类中的抽象类,用于实现获取操作用户的方法和实现调用日志上报类的方法,日志上报类通过调用公共类中的日志记录方法生成日志,并将日志上报至日志记录系统;日志AOP(Aspect Oriented Programming,面向切面编程)相关配置,用于拦截切面实例,调用相对应的切面嵌入表达式以及切面嵌入后的执行方法。在一具体实施方式中,日志AOP相关配置嵌入切面后,日志记录配置类获取到配置文件中的配置信息,日志切面类根据配置信息判断是否记录日志,若判断结果为是,再由日志上报类生成日志,并将日志发送至日志生成系统。
步骤S204,周期性获取配置文件。由此,可以使得应用能够定时获取最新的配置信息,实现了应用在线更新配置,避免了额外的发布上线。需要说明的是,在实际操作中,对于不同的应用场景,上述步骤也可以监听配置文件是否更新,根据更新后的配置文件,记录应用的日志。
步骤S205,根据配置文件,在应用启动后,记录应用的日志。
步骤S206,将日志发送至存储单元。通过将日志发送至存储单元,避免了将应用日志储存在该应用中,提升了该应用的运行效率,降低了由于记录日志对当前应用的性能产生的不利影响。
在一具体实施方式中,日志AOP相关配置嵌入切面后,日志记录配置类获取到配置文件中的配置信息,日志切面类根据配置信息判断是否记录日志,若判断结果为是,再由日志上报类生成日志,并将日志发送上报至日志生成系统。
图3是根据本发明实施例提供的一种记录应用日志的系统的主要示意图;如图3所示,本发明实施例提供了一种记录应用日志的系统300,包括:
应用单元301,用于引入用于记录应用日志的软件开发工具包;从配置单元302中读取用于记录应用日志的配置文件;根据配置文件,记录应用的日志;将应用日志发送至存储单元303;
通过引入记录应用日志的软件开发工具包有效避免了用于生成应用日志的重复代码,提升了应用的运行效率;通过读取配置文件,提供了记录应用日志的统一配置,并支持实时更改该配置;通过将应用日志发送至存储单元,进一步降低了记录日志对应用的不利影响。
根据本发明实施例的一实施方式,在应用启动后,应用单元301周期性读取配置文件。由此,可以使得应用能够定时获取最新的配置信息,实现了应用在线更新配置,避免了额外的发布上线。
根据本发明实施例的一实施方式,在应用启动后,应用单元301监听配置文件是否更新,根据更新后的配置文件,记录应用的日志。通过上述设置,实现了应用实时获取最新的配置信息,适用于对记录应用日志的配置的即时性要求高的场景。
根据本发明实施例的一实施方式,应用单元301利用消息队列将应用日志发送至存储单元303。通过消息队列的方式将上述应用日志发送至存储单元,进一步降低了记录应用日志对当前应用的性能产生的不利影响。
配置单元302,用于生成配置文件。通过上述设置,实现了在线更新配置,避免了应用重新发布上线。
根据本发明实施例的一实施方式,配置文件包括下列中的一个或多个:应用的应用信息、模块信息以及方法信息。配置文件提供了各应用的配置信息,实现了各应用配置的统一管理。
存储单元303,用于接收并存储应用日志。通过存储单元存储应用日志,降低了应用日记对应用空间的占用,进一步提升了当前应用的运行效率。
根据本发明实施例的一实施方式,存储单元302对日志进行解析,并将解析后得到的日志信息记录至数据库。通过对日志信息进行解析,能够对日志尽量进行进一步筛选,提高日志记录的效率,提高存储单元的存储空间。
根据本发明实施例的一实施方式,配置文件包括下列中的一个或多个:应用的应用信息、模块信息以及方法信息。通过消息队列的方式将上述日志发送至存储单元,进一步降低了记录日志对当前应用的不利影响。
根据本发明实施例的一具体实施方式,存储单元303接收到应用单元301发送的应用日志后,将该日志异步写入消息队列;然后从消息队列中消费日志信息;解析该日志信息,对日志信息的消息结构进行判断,若消息结构为JSON(JavaScript Object Notation,轻量级的数据交换格式)结构,则判断结果为正确;当日志消息的消息结构正确时,根据配置文件,对该日志消息对应的日志记录模块与日志记录方法进行校验,校验通过,则将该日志存储至数据库中。
如图4所示,根据本发明的一实施例,提供了应用于上述任一种记录应用日志系统的记录应用日志的方法的主要流程图,包括:
在配置单元中,配置应用配置信息,其中配置信息包括下列中的一个或多个:应用的应用信息、该应用中用于记录日志模块的模块信息以及用于记录日志的方法信息。其中,配置信息可以修改、删除、标记生效和标记失效。
根据本发明实施例的一实施方式,应用信息包括应用代码以及下列中的一种或多种:应用所属系统代码、应用所属系统名称、应用名称。其中,应用代码是唯一的,可以修改、删除、标记生效和标记失效。
首先,配置单元对各应用的应用信息进行配置,配置完成应用后,选择该应用,对应用中记录日志模块的模块信息进行配置。
根据本发明实施例的一实施方式,模块信息包括模块名称和模块的类。通过该模块信息可以确定唯一的一个模块入口。在一个使用spring框架的实际项目中,模块的类对应的是全路径的类名。
进一步地,模块信息配置完成后,选择该日志记录模块,对记录日志的方法进行配置。
根据本发明实施例的一实施方式,方法信息包括:方法名称、方法描述和方法参数。其中,方法名称是指该模块的类的具体方法名称,方法参数是JSON(JavaScript ObjectNotation,是一种轻量级的数据交换格式)结构,其定义了一个参数对象数组,例如:[{"name":"userInfo","type":"com.xxx.UserInfo"},{"name":"userTypeList","type":"java.util.List"}],可知每个参数对象有2个内容,其中name是方法的具体参数名称,type是参数类型,通过上述参数名称以及参数类型构成的参数对象数组能够确定唯一的一个日志记录的方法。
上述配置信息配置完成后,得到用于记录应用日志的配置文件,在一个具体实施方式中,配置单元提供一个查询端口,应用单元可以通过输入应用代码查询得到相对应应用的用于记录应用日志的配置信息。
通过上述步骤,当应用信息、模块信息和方法信息中一个或多个组成的配置信息配置完成后,得到用于记录应用日志的配置文件,此时,可通过上述查询端口获取到最新的配置信息,从而达到管理各应用配置的目的。
在应用单元中,首先引入用于记录应用日志的sdk,并通过实现部分日志接口,继承sdk中的抽象类,由此,有效避免了用于生成应用日志的重复代码。
进一步地,在应用启动时,加载sdk中的类,实现sdk中类的初始化。通过该步骤,实现了在应用中对记录应用日志所需类的定义。具体地,所需进行初始化的sdk中的类包括:日志记录配置类,通过应用代码,从配置中心系统中获取相对应应用的配置信息;日志切面类继承公共类中的抽象类,用于实现获取操作用户的方法和实现调用日志上报类的方法,日志上报类通过调用公共类中的日志记录方法生成日志,并将日志上报至日志记录系统;日志AOP(Aspect OrientedProgramming,面向切面编程)相关配置,用于拦截切面实例,调用相对应的切面嵌入表达式以及切面嵌入后的执行方法。在一具体实施方式中,日志AOP相关配置嵌入切面后,日志记录配置类获取到配置信息,日志切面类根据配置信息判断是否记录应用日志,若判断结果为是,再由日志上报类生成应用日志,并将应用日志发送至日志生成系统。
进一步地,应用单元周期性从配置单元中获取用于记录应用日志的配置文件。需要说明的是,对于不同的应用场景,应用单元还可以监听配置文件是否更新,根据更新后的配置文件,记录应用的日志。以实现实时更改该配置的目的。
进一步地,应用单元根据配置文件,在应用启动后,记录应用的日志,然后通过http(HyperText Transfer Protocol,超文本传输协议)方式将应用日志异步发送至存储单元。
在存储单元中,存储单元接收到应用单元发送的应用日志,将该应用日志异步写入消息队列。通过异步的方式保证了当前应用日志的写入不受消息队列影响,同时还可以使得消息队列暂存日志数据,不仅避免了应用日志的丢失,还有效降低了应用日志剧增所导致的峰值,提高了应用日志的写入效率。
进一步地,从消息队列中消息日志消息。
进一步地,对该日志消息进行解析,通过对日志信息进行解析,能够对日志的数量进行进一步筛选,提高日志记录的效率,增加存储模块的存储空间。同时还对解析后的日志信息的消息结构进行判断,若日志消息的消息结构为JSON结构,则判断结果为正确,继续下一步操作;若判断日志消息的消息结构为非JSON结构,则判断结果为错误,不储存该日志消息。
进一步地,存储单元还根据配置文件,对该日志消息对应的日志记录模块与日志记录方法进行校验,校验通过,则将该日志存储至数据库中。校验的具体操作方法是,核对该应用日志所对应的记录应用日志的模块和记录应用日志的方法在配置文件中有没有体现,如果有,则校验通过。
因为采用引入用于记录应用日志的软件开发工具包,读取用于记录应用日志的配置文件,根据配置文件,在应用启动后,记录应用的日志,将应用日志发送至存储单元的技术手段。由此,通过引入记录应用日志的软件开发工具包有效避免了用于生成应用日志的重复代码,提升了应用的运行效率;通过读取配置文件,提供了对记录应用日志的统一配置,并支持实时更改该配置;通过将应用日志发送至存储单元,进一步降低了记录日志对当前应用的性能产生的不利影响。
图5示出了可以应用本发明实施例的记录应用日志的方法或记录应用日志的系统的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的记录应用日志的方法一般由服务器505执行,相应地,记录应用日志的系统一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括应用单元、配置单元、存储单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,配置单元还可以被描述为“生成配置文件的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:引入用于记录应用日志的软件开发工具包,读取用于记录应用日志的配置文件,根据该配置文件,在该应用启动后,记录该应用的日志,然后将应用日志发送至存储单元。
根据本发明实施例的技术方案,因为采用引入用于记录应用日志的软件开发工具包,读取用于记录应用日志的配置文件,根据配置文件,在应用启动后,记录应用的日志,将应用日志发送至存储单元的技术手段。由此,通过引入记录应用日志的软件开发工具包有效避免了用于生成应用日志的重复代码,提升了应用的运行效率;通过读取配置文件,提供了对记录应用日志的统一配置,并支持实时更改该配置;通过将应用日志发送至存储单元,进一步降低了记录日志对当前应用的性能产生的不利影响。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (14)

1.一种记录应用日志的方法,其特征在于,包括:
引入用于记录应用日志的软件开发工具包;
读取用于记录应用日志的配置文件;
根据所述配置文件,在所述应用启动后,记录所述应用的日志;
将所述应用日志发送至存储单元。
2.根据权利要求1所述的记录应用日志的方法,其特征在于,在所述应用启动后,周期性读取所述配置文件。
3.根据权利要求1所述的记录应用日志的方法,其特征在于,在所述应用启动后,监听所述配置文件是否更新,根据更新后的所述配置文件,记录所述应用的日志。
4.根据权利要求2或3所述的记录应用日志的方法,其特征在于,所述日志被解析,解析后得到的日志信息被记录至数据库。
5.根据权利要求4所述的记录应用日志的方法,其特征在于,所述配置文件包括下列中的一个或多个:所述应用的应用信息、模块信息以及方法信息。
6.根据权利要求5所述的记录应用日志的方法,其特征在于,利用消息队列将所述日志发送至存储单元。
7.一种记录应用日志的系统,其特征在于,包括应用单元、配置单元和存储单元;其中,
所述应用单元,用于引入用于记录应用日志的软件开发工具包;从所述配置单元中读取用于记录应用日志的配置文件;根据所述配置文件,记录所述应用的日志;将所述应用日志发送至所述存储单元;
所述配置单元,用于生成所述配置文件;
所述存储单元,用于接收并存储所述应用日志。
8.根据权利要求7所述的记录应用日志的系统,其特征在于,在所述应用启动后,所述应用单元周期性读取所述配置文件。
9.根据权利要求7所述的记录应用日志的系统,其特征在于,在所述应用启动后,所述应用单元监听所述配置文件是否更新,根据更新后的所述配置文件,记录所述应用的日志。
10.根据权利要求8或9所述的记录应用日志的系统,其特征在于,所述存储单元对所述日志进行解析,并将解析后得到的日志信息记录至数据库。
11.根据权利要求10所述的记录应用日志的系统,其特征在于,所述配置文件包括下列中的一个或多个:所述应用的应用信息、模块信息以及方法信息。
12.根据权利要求11所述的记录应用日志的系统,其特征在于,所述应用单元利用消息队列将所述日志发送至存储单元。
13.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201910412428.XA 2019-05-17 2019-05-17 一种记录应用日志的方法及装置 Pending CN111949472A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910412428.XA CN111949472A (zh) 2019-05-17 2019-05-17 一种记录应用日志的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910412428.XA CN111949472A (zh) 2019-05-17 2019-05-17 一种记录应用日志的方法及装置

Publications (1)

Publication Number Publication Date
CN111949472A true CN111949472A (zh) 2020-11-17

Family

ID=73336138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910412428.XA Pending CN111949472A (zh) 2019-05-17 2019-05-17 一种记录应用日志的方法及装置

Country Status (1)

Country Link
CN (1) CN111949472A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113900893A (zh) * 2021-09-30 2022-01-07 土巴兔集团股份有限公司 一种日志获取方法及其相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129685A (ja) * 2006-11-17 2008-06-05 Dream Ware Inc 作業内容記録システムおよびその方法、ならびにそのプログラム
CN103023693A (zh) * 2012-11-27 2013-04-03 北京小米科技有限责任公司 一种行为日志数据管理系统及方法
CN108287777A (zh) * 2017-12-27 2018-07-17 山东浪潮通软信息科技有限公司 一种记录日志的方法及装置
CN109669848A (zh) * 2017-10-16 2019-04-23 比亚迪股份有限公司 日志生成方法、应用服务器、日志服务器及日志生成系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129685A (ja) * 2006-11-17 2008-06-05 Dream Ware Inc 作業内容記録システムおよびその方法、ならびにそのプログラム
CN103023693A (zh) * 2012-11-27 2013-04-03 北京小米科技有限责任公司 一种行为日志数据管理系统及方法
CN109669848A (zh) * 2017-10-16 2019-04-23 比亚迪股份有限公司 日志生成方法、应用服务器、日志服务器及日志生成系统
CN108287777A (zh) * 2017-12-27 2018-07-17 山东浪潮通软信息科技有限公司 一种记录日志的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113900893A (zh) * 2021-09-30 2022-01-07 土巴兔集团股份有限公司 一种日志获取方法及其相关设备

Similar Documents

Publication Publication Date Title
US11005969B2 (en) Problem solving in a message queuing system in a computer network
US9934003B2 (en) System and method for creating a development and operational platform for mobile applications
US10360087B2 (en) Web API recommendations based on usage in cloud-provided runtimes
CN112860451A (zh) 一种基于SaaS的多租户数据处理方法和装置
US20180373418A1 (en) Unified real time rule analytics using common programming model on both edge and cloud
US11934287B2 (en) Method, electronic device and computer program product for processing data
US9374417B1 (en) Dynamic specification auditing for a distributed system
CN110928853A (zh) 一种标识日志的方法和装置
CN110795315A (zh) 监控业务的方法和装置
CN110019158A (zh) 一种监控数据质量的方法和装置
CN112559024A (zh) 一种生成交易码变更列表的方法和装置
CN112817562B (zh) 业务处理的方法和装置
CN112947919A (zh) 构建业务模型和处理业务请求的方法和装置
CN112083945A (zh) Npm安装包的更新提示方法、装置、电子设备及存储介质
CN111949472A (zh) 一种记录应用日志的方法及装置
CN113485902B (zh) 测试业务平台的方法、装置、设备和计算机可读介质
CN115185841A (zh) 系统重构测试方法、装置、设备及存储介质
CN112579428B (zh) 接口测试的方法、装置、电子设备和存储介质
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
CN113132447A (zh) 反向代理的方法和系统
US20130290830A1 (en) System and method for managing a viewstate of a web application
CN112241332A (zh) 一种接口补偿的方法和装置
CN114500485B (zh) 一种数据处理方法和装置
CN112783665B (zh) 接口补偿的方法和装置
CN112559001B (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