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.一种记录日志的方法,其特征在于,预先配置针对目标应用的日志的配置文件;包括:在启动所述目标应用时,创建日志线程和日志队列,其中,所述日志队列用于存储所述日志队列的外部输入的日志信息;利用所述日志线程执行:实时检测所述日志队列是否存在日志信息,如果是,则从所述日志队列中获取当前日志信息,读取所述配置文件,根据所述配置文件对当前日志信息进行持久化存储。
【技术特征摘要】
1.一种记录日志的方法,其特征在于,预先配置针对目标应用的日志的配置文件;包括:在启动所述目标应用时,创建日志线程和日志队列,其中,所述日志队列用于存储所述日志队列的外部输入的日志信息;利用所述日志线程执行:实时检测所述日志队列是否存在日志信息,如果是,则从所述日志队列中获取当前日志信息,读取所述配置文件,根据所述配置文件对当前日志信息进行持久化存储。2.根据权利要求1所述的方法,其特征在于,所述配置文件中包括:针对至少一种日志类型中每种所述日志类型对应的存储类型,其中,每个所述日志信息对应一个所述日志类型,所述存储类型包括:磁盘文件类型、数据库类型;在所述从所述日志队列中获取当前日志信息之后,进一步包括:确定所述当前日志信息对应的当前日志类型;所述根据所述配置文件对当前日志信息进行持久化存储,包括:确定所述当前日志类型对应的当前存储类型;当所述当前存储类型为所述磁盘文件类型时,将所述当前日志信息持久化存储到磁盘文件中;当所述当前存储类型为所述数据库类型时,将所述当前日志信息持久化存储到数据库中。3.根据权利要求1所述的方法,其特征在于,进一步包括:预先为所述目标应用的每个模块设置对应的日志文件夹;在所述从所述日志队列中获取当前日志信息之后,进一步包括:确定生成所述当前日志信息的当前模块;所述根据所述配置文件对当前日志信息进行持久化存储,包括:根据所述配置文件将所述当前日志信息持久化存储到所述当前模块对应的日志文件夹中。4.根据权利要求1-3中任一所述的方法,其特征在于,进一步包括:预先在所述目标应用的开始事件中设置启动程序;所述在启动所述目标应用时,创建日志线程和日志队列,包括:在启动所述目标应用时,执行所述开始事件中的所述启动程序;利用所述启动程序创建所述日志线程和所述日志队列。5.根据权利要求2所述的方法,其特征在于,进一步包括:预先针对至少一种日志类型中每种所述日志类型设置对应的日志接口;进一步包括:当所述目标应用调用至少一个所述日志接口中任一目标日志接口时,利用所述目标日志接口获取所述目标日志接口对应的目标日志类型的日志信息,将所述目标日志类型的日志信息输入到所述日志队列中;和/或,所述配置文件中进一步包括:所述数据库中日志表的配置信息;在所述读取所述配置文件之后,进一步包括:按照所述日志表的配置信息生成所述日志表;所述将所述当前日志信息持久化存储到数据库中,包括:将所述当前日志信息按照所述日志表的配置信息持久化存储到所述日志表中;和/或,所述存储类型进一步包括:全部类型;所述根据所述配置文件对当前日志信息进行持久化存储,包括:当所述当前存储类型为所述全部类型时,将所述当前日志信息分别持久化存储到磁盘文件和数据库中;和/或,所述至少一种日志类型包括:调试信息的日志类型、消息信息的日志类型、警告信息的日志类型、错误信息的日志类型和严重错误信息的日志类型中的一个或多个。6.一种记录日志的装置,其特征在于,包括:配置单元,用于配置针对目标应用的日志的配置文件;创建单元,...
【专利技术属性】
技术研发人员:王豪森,王颖,卢永列,
申请(专利权)人:山东浪潮通软信息科技有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。