一种日志记录方法以及系统技术方案

技术编号:18049806 阅读:43 留言:0更新日期:2018-05-26 07:55
本发明专利技术公开了一种日志记录方法以及系统,方法包括:S1、主线程启动后创建日志处理线程;S2、创建至少一个应用线程;S3、应用线程根据当前日志长度生成日志消息包并发送给日志处理线程;S4、日志处理线程解析得到的日志消息包并将日志记录到日志文件;本发明专利技术使用专门的日志线程处理日志,使日志发起方不再直接操作日志文件线程,不占用应用线程多余时间,使应用线程把时间都用在业务处理上,提高日志发起方的其它业务处理性能;且根据当前日志长度生成日志消息包,不会造成存储空间的浪费或者存储空间不够导致日志记录不全;进一步的,本发明专利技术定时创建以当前时间信息命名的日志文件,避免单个日志文件过大,且方便查询和传输。

【技术实现步骤摘要】
一种日志记录方法以及系统
本专利技术涉及信息维护领域,尤其涉及一种日志记录方法以及系统。
技术介绍
日志是软件系统的一个重要功能,它时刻记录系统的允许情况,当系统出现异常时,开发调试人员可以从日志中定位引起问题的原因,可以在很大程度上较少问题解决时间,有效的提高问题解决效率。现有的记录日志的处理方式主要有两种。第一种如图1所示,当前软件系统记录日志应用线程写日志前先打开日志文件,日志文件打开成功后将日志记录到文件中,日志记录完毕后关闭日志文件;第二种是建立专门的日志处理线程,将日志记录到固定的缓冲区,然后发给日志处理线程记录日志。以上两种处理方式中,前者会因为频繁操作文件和直接写文件导致处理性能下降,后者会因为每个日志包都分配固定大小存储空间造成内存浪费或日志过长时打印不全。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种日志记录方法以及系统。本专利技术解决其技术问题所采用的技术方案是:构造一种日志记录方法,包括:S1、主线程启动后创建日志处理线程;S2、创建至少一个应用线程;S3、应用线程根据当前日志长度生成日志消息包并发送给日志处理线程;S4、日志处理线程解析得到的日志消息包并将日志记录到日志文件。在本专利技术所述的日志记录方法中,所述步骤S3包括:应用线程根据当前日志长度动态申请内存存储空间,将当前日志写入申请到的内存存储空间中以生成所述日志消息包,并将日志消息包发送给日志处理线程,再返回处理其他业务。在本专利技术所述的日志记录方法中,所述步骤S1还包括:日志处理线程根据当前时间信息定时创建以当前时间信息命名的日志文件;所述步骤S4中所述的将日志记录到日志文件包括:将日志记录到当前时间信息所对应的日志文件。在本专利技术所述的日志记录方法中,所述步骤S1还包括:间隔一定时间创建一个日志文件夹,并在该日志文件夹内定时创建多个所述日志文件。在本专利技术所述的日志记录方法中,定时创建的日志文件位于硬盘中。本专利技术还公开了一种日志记录系统,包括:日志处理线程创建模块,用于在主线程启动后创建日志处理线程;应用线程创建模块,用于在日志处理线程创建后创建至少一个应用线程;其中,应用线程用于根据当前日志长度生成日志消息包并发送给日志处理线程,日志处理线程用于解析得到的日志消息包并将日志记录到日志文件。在本专利技术所述的日志记录系统中,所述的将生成的日志消息包发送给日志处理线程包括:应用线程根据当前日志长度动态申请内存存储空间,将当前日志写入申请到的内存存储空间中以生成所述日志消息包,并将日志消息包发送给日志处理线程,再返回处理其他业务。在本专利技术所述的日志记录系统中,日志处理线程还用于根据当前时间信息定时创建以当前时间信息命名的日志文件;所述的将日志记录到日志文件包括:将日志记录到当前时间信息所对应的日志文件。在本专利技术所述的日志记录系统中,日志处理线程还用于间隔一定时间创建一个日志文件夹,并在该日志文件夹内定时创建多个所述日志文件。在本专利技术所述的日志记录系统中,定时创建的日志文件位于硬盘中。实施本专利技术的日志记录方法以及系统,具有以下有益效果:本专利技术使用专门的日志线程处理日志,使日志发起方不再直接操作日志文件线程,不占用应用线程多余时间,使应用线程把时间都用在业务处理上,提高日志发起方的其它业务处理性能;且根据当前日志长度生成日志消息包,不会造成存储空间的浪费或者存储空间不够导致日志记录不全;进一步的,本专利技术定时创建以当前时间信息命名的日志文件,避免单个日志文件过大,且方便查询和传输。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是一种传统的记录日志的时序图;图2是本专利技术的日志记录方法的流程图;图3是本专利技术的日志记录方法的时序图。具体实施方式为了对本专利技术的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本专利技术的具体实施方式。为了解决现有技术中,因为频繁操作文件和直接写文件导致处理性能下降的缺陷,本专利技术使用专门的日志线程处理日志,使日志发起方不再直接操作日志文件线程,不占用应用线程多余时间,使应用线程把时间都用在业务处理上,提高日志发起方的其它业务处理性能。为了解决每个日志包分配固定大小存储空间造成内存浪费或日志过长时打印不全的问题,本专利技术根据当前日志长度生成日志消息包,不会造成存储空间的浪费或者存储空间不够导致日志记录不全。下面结合具体的实施例对本专利技术进行详细说明。参考图2是本专利技术的日志记录方法的流程图;图3是本专利技术的日志记录方法的时序图。本专利技术的日志记录方法包括:S1、主线程启动后创建日志处理线程;S2、创建至少一个应用线程;S3、应用线程根据当前日志长度生成日志消息包并发送给日志处理线程;S4、日志处理线程解析得到的日志消息包并将日志记录到日志文件。本专利技术中多个应用线程可以同时向日志处理线程发送日志消息包,日志处理线程可以处理多个应用线程发送的日志消息包。应用线程发送日志消息后便立即返回处理其它业务,不必等待日志处理结束,日志记录和正常业务处理并发执行。具体的,所述步骤S3包括:应用线程根据当前日志长度动态申请内存存储空间,将当前日志写入申请到的内存存储空间中以生成所述日志消息包,并将日志消息包发送给日志处理线程,再返回处理其他业务。优选的,所述步骤S1还包括:日志处理线程根据当前时间信息定时创建以当前时间信息命名的日志文件;其中,定时创建的日志文件位于硬盘中。相应的,所述步骤S4中所述的将日志记录到日志文件包括:将日志记录到当前时间信息所对应的日志文件。可以理解的是,具体的日志文件创建间隔可以根据系统的日志写入频率设定,如果系统写入日志比较频繁,则可以将时间间隔设定短一些,如果系统只是偶尔写入日志,则将时间间隔设定长一些。比如,对于写入比较频繁的情况,可以以小时为单位,在每个整点时刻创建一个日志文件,以记录此后一个小时内的所有日志。由于本专利技术定时创建以当前时间信息命名的日志文件,避免单个日志文件过大,且方便查询和传输。进一步优选的,所述步骤S1还包括:间隔一定时间创建一个日志文件夹,并在该日志文件夹内定时创建多个所述日志文件。例如,假定日志创建目录为/log,系统根据写入频率,设定间隔一个月创建一个文件夹,间隔一天创建一个日志文件。在2016-11-1409:28:50系统出现异常,产生一条异常日志,日志内容为一条字符串,记录了具体的异常内容,则此条异常日志会写入硬盘上的/log/2016-11的文件夹内的文件名为14的日志文件中。技术人员进行维护时,如需查询日志,可以根据时间快速调取相应的日志文件。相应的,本专利技术还公开了一种与上述方法对应的日志记录系统,该日志记录系统包括:日志处理线程创建模块,用于在主线程启动后创建日志处理线程;应用线程创建模块,用于在日志处理线程创建后创建至少一个应用线程;其中,应用线程用于根据当前日志长度生成日志消息包并发送给日志处理线程,日志处理线程用于解析得到的日志消息包并将日志记录到日志文件。具体的,所述的将生成的日志消息包发送给日志处理线程包括:应用线程根据当前日志长度动态申请内存存储空间,将当前日志写入申请到的内存存储空间中以生成所述日志消息包,并将日志消息包发送给日志处理线程,再返回处理其他业务。优选的,日志处理线程还用于根据当前时间信息定时本文档来自技高网...
一种日志记录方法以及系统

【技术保护点】
一种日志记录方法,其特征在于,包括:S1、主线程启动后创建日志处理线程;S2、创建至少一个应用线程;S3、应用线程根据当前日志长度生成日志消息包并发送给日志处理线程;S4、日志处理线程解析得到的日志消息包并将日志记录到日志文件。

【技术特征摘要】
1.一种日志记录方法,其特征在于,包括:S1、主线程启动后创建日志处理线程;S2、创建至少一个应用线程;S3、应用线程根据当前日志长度生成日志消息包并发送给日志处理线程;S4、日志处理线程解析得到的日志消息包并将日志记录到日志文件。2.根据权利要求1所述的日志记录方法,其特征在于,所述步骤S3包括:应用线程根据当前日志长度动态申请内存存储空间,将当前日志写入申请到的内存存储空间中以生成所述日志消息包,并将日志消息包发送给日志处理线程,再返回处理其他业务。3.根据权利要求1所述的日志记录方法,其特征在于,所述步骤S1还包括:日志处理线程根据当前时间信息定时创建以当前时间信息命名的日志文件;所述步骤S4中所述的将日志记录到日志文件包括:将日志记录到当前时间信息所对应的日志文件。4.根据权利要求3所述的日志记录方法,其特征在于,所述步骤S1还包括:间隔一定时间创建一个日志文件夹,并在该日志文件夹内定时创建多个所述日志文件。5.根据权利要求3所述的日志记录方法,其特征在于,定时创建的日志文件位于硬盘中。6.根据权利要求1所述的日志记录系统,...

【专利技术属性】
技术研发人员:孙绍攀
申请(专利权)人:深圳联友科技有限公司
类型:发明
国别省市:广东,44

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

1