一种记录日志的方法及装置制造方法及图纸

技术编号:18458616 阅读:34 留言:0更新日期:2018-07-18 12:38
本发明专利技术提供了一种记录日志的方法及装置,该方法,包括:预先配置针对目标应用的日志的配置文件;在启动所述目标应用时,创建日志线程和日志队列,其中,所述日志队列用于存储所述日志队列的外部输入的日志信息;利用所述日志线程执行:实时检测所述日志队列是否存在日志信息,如果是,则从所述日志队列中获取当前日志信息,读取所述配置文件,根据所述配置文件对当前日志信息进行持久化存储。本发明专利技术提供了一种记录日志的方法及装置,能够提高应用的运行性能。

A method and device for recording logs

The present invention provides a method and device for recording a log, which includes configuring a configuration file for a log for the target application; creating a log thread and a log queue when starting the target application, wherein the log queue is used to store the log information of the external input of the log queue; The log thread is executed with the log thread: real-time detection of whether the log queue has log information, if so, the current log information is obtained from the log queue, the configuration file is read, and the current log information is persisted according to the configuration file. The invention provides a method and device for recording logs, which can improve the operational performance of the application.

【技术实现步骤摘要】
一种记录日志的方法及装置
本专利技术涉及计算机
,特别涉及一种记录日志的方法及装置。
技术介绍
日志对应一个应用来说是非常重要的,通过日志可以了解应用的运行情况。现有技术中,应用的日志的记录主要通过应用的主线程来实现。也就是说,应用的主线程除了要完成应用的主要功能还有向磁盘中记录应用的日志,而记录日志的过程需要占用资源,进而导致主线程在完成应用的主要功能时会受到记录日志这个过程的影响,进而降低了应用的运行性能。
技术实现思路
本专利技术实施例提供了一种记录日志的方法及装置,能够提高应用的运行性能。一方面,本专利技术实施例提供了一种记录日志的方法,包括:预先配置针对目标应用的日志的配置文件;在启动所述目标应用时,创建日志线程和日志队列,其中,所述日志队列用于存储所述日志队列的外部输入的日志信息;利用所述日志线程执行:实时检测所述日志队列是否存在日志信息,如果是,则从所述日志队列中获取当前日志信息,读取所述配置文件,根据所述配置文件对当前日志信息进行持久化存储。进一步地,所述配置文件中包括:针对至少一种日志类型中每种所述日志类型对应的存储类型,其中,每个所述日志信息对应一个所述日志类型,所述存储类型包括:磁盘文件类型、数据库类型;在所述从所述日志队列中获取当前日志信息之后,进一步包括:确定所述当前日志信息对应的当前日志类型;所述根据所述配置文件对当前日志信息进行持久化存储,包括:确定所述当前日志类型对应的当前存储类型;当所述当前存储类型为所述磁盘文件类型时,将所述当前日志信息持久化存储到磁盘文件中;当所述当前存储类型为所述数据库类型时,将所述当前日志信息持久化存储到数据库中。进一步地,该方法进一步包括:预先为所述目标应用的每个模块设置对应的日志文件夹;在所述从所述日志队列中获取当前日志信息之后,进一步包括:确定生成所述当前日志信息的当前模块;所述根据所述配置文件对当前日志信息进行持久化存储,包括:根据所述配置文件将所述当前日志信息持久化存储到所述当前模块对应的日志文件夹中。进一步地,该方法进一步包括:预先在所述目标应用的开始事件中设置启动程序;所述在启动所述目标应用时,创建日志线程和日志队列,包括:在启动所述目标应用时,执行所述开始事件中的所述启动程序;利用所述启动程序创建所述日志线程和所述日志队列。进一步地,该方法进一步包括:预先针对至少一种日志类型中每种所述日志类型设置对应的日志接口;进一步包括:当所述目标应用调用至少一个所述日志接口中任一目标日志接口时,利用所述目标日志接口获取所述目标日志接口对应的目标日志类型的日志信息,将所述目标日志类型的日志信息输入到所述日志队列中。进一步地,所述配置文件中进一步包括:所述数据库中日志表的配置信息;在所述读取所述配置文件之后,进一步包括:按照所述日志表的配置信息生成所述日志表;所述将所述当前日志信息持久化存储到数据库中,包括:将所述当前日志信息按照所述日志表的配置信息持久化存储到所述日志表中。进一步地,所述存储类型进一步包括:全部类型;所述根据所述配置文件对当前日志信息进行持久化存储,包括:当所述当前存储类型为所述全部类型时,将所述当前日志信息分别持久化存储到磁盘文件和数据库中。进一步地,所述至少一种日志类型包括:调试信息的日志类型、消息信息的日志类型、警告信息的日志类型、错误信息的日志类型和严重错误信息的日志类型中的一个或多个。另一方面,本专利技术实施例提供了一种记录日志的装置,包括:配置单元,用于配置针对目标应用的日志的配置文件;创建单元,用于在启动所述目标应用时,创建日志线程和日志队列,其中,所述日志队列用于存储所述日志队列的外部输入的日志信息;记录单元,用于利用所述日志线程执行:实时检测所述日志队列是否存在日志信息,如果是,则从所述日志队列中获取当前日志信息,读取所述配置文件,根据所述配置文件对当前日志信息进行持久化存储。进一步地,所述配置文件中包括:针对至少一种日志类型中每种所述日志类型对应的存储类型,其中,每个所述日志信息对应一个所述日志类型,所述存储类型包括:磁盘文件类型、数据库类型;所述记录单元,进一步用于在所述从所述日志队列中获取当前日志信息之后,确定所述当前日志信息对应的当前日志类型;所述记录单元,在执行所述根据所述配置文件对当前日志信息进行持久化存储时,具体用于执行:确定所述当前日志类型对应的当前存储类型;当所述当前存储类型为所述磁盘文件类型时,将所述当前日志信息持久化存储到磁盘文件中;当所述当前存储类型为所述数据库类型时,将所述当前日志信息持久化存储到数据库中。进一步地,该装置进一步包括:第一设置单元,用于为所述目标应用的每个模块设置对应的日志文件夹;所述记录单元,进一步用于在所述从所述日志队列中获取当前日志信息之后,确定生成所述当前日志信息的当前模块;所述记录单元,在执行所述根据所述配置文件对当前日志信息进行持久化存储时,具体用于根据所述配置文件将所述当前日志信息持久化存储到所述当前模块对应的日志文件夹中。进一步地,该装置进一步包括:第二设置单元,用于在所述目标应用的开始事件中设置启动程序;所述创建单元,用于在启动所述目标应用时,执行所述开始事件中的所述启动程序;利用所述启动程序创建所述日志线程和所述日志队列。进一步地,该装置进一步包括:第二设置单元,用于针对至少一种日志类型中每种所述日志类型设置对应的日志接口;进一步包括:输入单元,用于当所述目标应用调用至少一个所述日志接口中任一目标日志接口时,利用所述目标日志接口获取所述目标日志接口对应的目标日志类型的日志信息,将所述目标日志类型的日志信息输入到所述日志队列中。进一步地,所述配置文件中进一步包括:所述数据库中日志表的配置信息;所述记录单元,进一步用于在所述读取所述配置文件之后,按照所述日志表的配置信息生成所述日志表;所述记录单元,在执行所述将所述当前日志信息持久化存储到数据库中时,具体用于将所述当前日志信息按照所述日志表的配置信息持久化存储到所述日志表中。进一步地,所述存储类型进一步包括:全部类型;所述记录单元,在执行所述根据所述配置文件对当前日志信息进行持久化存储时,具体用于执行:当所述当前存储类型为所述全部类型时,将所述当前日志信息分别持久化存储到磁盘文件和数据库中。进一步地,所述至少一种日志类型包括:调试信息的日志类型、消息信息的日志类型、警告信息的日志类型、错误信息的日志类型和严重错误信息的日志类型中的一个或多个。在本专利技术实施例中,在启动目标应用时,创建日志线程,利用日志线程来持久化存储日志信息,无需通过目标应用的主线程来实现,无需占用目标应用的主线程的资源,不会影响目标应用的运行性能,与利用主线程来记录日志的方案相比,提高了目标应用的运行性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例提供的一种记录日志的方法的流程图;图2是本专利技术一实施例提供的另一种记录日志的方法的流程图;图3是本专利技术一实施例提供的一种记录日志的装置的示意图;图4是本专利技术一本文档来自技高网...

【技术保护点】
1.一种记录日志的方法,其特征在于,预先配置针对目标应用的日志的配置文件;包括:在启动所述目标应用时,创建日志线程和日志队列,其中,所述日志队列用于存储所述日志队列的外部输入的日志信息;利用所述日志线程执行:实时检测所述日志队列是否存在日志信息,如果是,则从所述日志队列中获取当前日志信息,读取所述配置文件,根据所述配置文件对当前日志信息进行持久化存储。

【技术特征摘要】
1.一种记录日志的方法,其特征在于,预先配置针对目标应用的日志的配置文件;包括:在启动所述目标应用时,创建日志线程和日志队列,其中,所述日志队列用于存储所述日志队列的外部输入的日志信息;利用所述日志线程执行:实时检测所述日志队列是否存在日志信息,如果是,则从所述日志队列中获取当前日志信息,读取所述配置文件,根据所述配置文件对当前日志信息进行持久化存储。2.根据权利要求1所述的方法,其特征在于,所述配置文件中包括:针对至少一种日志类型中每种所述日志类型对应的存储类型,其中,每个所述日志信息对应一个所述日志类型,所述存储类型包括:磁盘文件类型、数据库类型;在所述从所述日志队列中获取当前日志信息之后,进一步包括:确定所述当前日志信息对应的当前日志类型;所述根据所述配置文件对当前日志信息进行持久化存储,包括:确定所述当前日志类型对应的当前存储类型;当所述当前存储类型为所述磁盘文件类型时,将所述当前日志信息持久化存储到磁盘文件中;当所述当前存储类型为所述数据库类型时,将所述当前日志信息持久化存储到数据库中。3.根据权利要求1所述的方法,其特征在于,进一步包括:预先为所述目标应用的每个模块设置对应的日志文件夹;在所述从所述日志队列中获取当前日志信息之后,进一步包括:确定生成所述当前日志信息的当前模块;所述根据所述配置文件对当前日志信息进行持久化存储,包括:根据所述配置文件将所述当前日志信息持久化存储到所述当前模块对应的日志文件夹中。4.根据权利要求1-3中任一所述的方法,其特征在于,进一步包括:预先在所述目标应用的开始事件中设置启动程序;所述在启动所述目标应用时,创建日志线程和日志队列,包括:在启动所述目标应用时,执行所述开始事件中的所述启动程序;利用所述启动程序创建所述日志线程和所述日志队列。5.根据权利要求2所述的方法,其特征在于,进一步包括:预先针对至少一种日志类型中每种所述日志类型设置对应的日志接口;进一步包括:当所述目标应用调用至少一个所述日志接口中任一目标日志接口时,利用所述目标日志接口获取所述目标日志接口对应的目标日志类型的日志信息,将所述目标日志类型的日志信息输入到所述日志队列中;和/或,所述配置文件中进一步包括:所述数据库中日志表的配置信息;在所述读取所述配置文件之后,进一步包括:按照所述日志表的配置信息生成所述日志表;所述将所述当前日志信息持久化存储到数据库中,包括:将所述当前日志信息按照所述日志表的配置信息持久化存储到所述日志表中;和/或,所述存储类型进一步包括:全部类型;所述根据所述配置文件对当前日志信息进行持久化存储,包括:当所述当前存储类型为所述全部类型时,将所述当前日志信息分别持久化存储到磁盘文件和数据库中;和/或,所述至少一种日志类型包括:调试信息的日志类型、消息信息的日志类型、警告信息的日志类型、错误信息的日志类型和严重错误信息的日志类型中的一个或多个。6.一种记录日志的装置,其特征在于,包括:配置单元,用于配置针对目标应用的日志的配置文件;创建单元,...

【专利技术属性】
技术研发人员:王豪森王颖卢永列
申请(专利权)人:山东浪潮通软信息科技有限公司
类型:发明
国别省市:山东,37

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

1