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

技术编号:2914891 阅读:249 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开一种日志记录方法及日志系统。所述方法包括:延时日志记录器接收记录日志的命令,所述命令中携带日志条目;延时日志记录器将所述命令中的日志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目进行写操作。相应的,本发明专利技术实施例提供一种日志系统,包括:延时日志记录器,用于接收记录日志的命令,所述命令中携带日志条目,将所述命令中的日志条目存储到注册日志管理器中;注册日志管理器,用于存储所述延时日志记录器传输的日志条目,按照设定条件将存储的日志条目进行写操作。本发明专利技术实施例提供的技术方案能够在进行日志记录时减少对正常业务的影响,提高正常业务的执行速度。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,具体涉及一种日志记录方法及日志系统
技术介绍
在计算机技术应用中,日志(log)起着十分重要的作用。日志,用于在计算机程序中对某些信息进行记录,包括提示、警告及错误信息等,这些信息可以用于分析计算机程序的运行过程。因此,在计算机或其他设备中一般都设置有日志系统专门进行日志记录工作。日志系统中含有日志管理器,当用户发出写日志命令时,日志管理器为用户提供一个日志记录器(Logger),通过该日志记录器可以直接把各种级别的日志条目写到日志文件、控制台、或数据库等各种日志目的地。以Java应用举例说明,Java语言本身带有日志功能,该功能设置在java.util.logging包中。Java应用中,日志系统的记录方式是实时的,也就是说,在接收到用户发出的记录日志的命令后,立即停下正常的程序的执行,由日志管理器提供的Logger开始记录日志,日志记录完之后,程序进一步往下执行。举例说明,例如程序运行的线程为:调用代码1......;logger.log(“一条日志”);    写日志的命令。调用代码2......;Logger的写日志过程与用户调用代码是在一个线程中顺序执行,写日志代码执行完才能运行到调用代码2,调用写日志的代码返回后,表示日志已经记录完成。在对现有技术的研究和实践过程中,专利技术人发现现有技术存在以下问题:现有技术的日志记录方法是采用实时记录方式,其他程序需要等待日志记录完成后才能继续执行,因此在记录日志时会导致正常业务的阻塞。而且,日志系统本身的特点要求日志的记录是串行的,按顺序一条一条地记录。现有的Java日志系统如果应用于并发程序多个线程的程序同时要记录日志,而每条日志的记录过程却不能并发处理,这就导致某一时刻只能有一个线程可-->以执行日志操作,在它记录日志时,其他线程也必须等待,这种等待的时间,在并发量大而且日志记录频繁的程序中,往往比记录日志本身消耗的时间还要多。总之,现有技术的日志记录方法由于采用实时记录方式,会对正常业务造成影响。
技术实现思路
本专利技术实施例要解决的技术问题是提供一种日志记录方法及日志系统,能够在进行日志记录时减少对正常业务的影响,提高正常业务的执行速度。为解决上述技术问题,本专利技术所提供的实施例是通过以下技术方案实现的:本专利技术实施例提供一种日志记录方法,包括:延时日志记录器接收记录日志的命令,所述命令中携带日志条目;延时日志记录器将所述命令中的日志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目进行写操作。优选的,所述延时日志记录器接收记录日志的命令之前进一步包括:通过对日志管理器属性的设置,注册新的日志管理器替换原有的日志管理器,得到注册日志管理器;所述注册日志管理器创建延时日志记录器,将所述延时日志记录器提供给用户输入命令。优选的,所述由注册日志管理器按照设定条件将存储的日志条目进行写操作具体为:由所述注册日志管理器生成线程,由所述线程按照设定条件将存储的日志条目写入到目的地,并将写入操作已完成的日志条目删除。优选的,所述设定条件具体为:日志条目存储的时间顺序。优选的,所述延时日志记录器将所述命令中的日志条目存储到注册日志管理器中具体为:延时日志记录器将所述命令中的日志条目存储到注册日志管理器的日志条目列表中。优选的,所述注册日志管理器在获知应用服务器接收到停止运行命令时,查看是否存在未进行写操作的日志条目,若存在,则将未进行写操作的日志条目进行写操作。优选的,所述延时日志记录器接收记录日志的命令之后进一步包括:判-->断所述命令中的日志条目是否达到设定级别,若是,直接对日志条目进行写操作,若否,执行将所述命令中的日志条目存储到注册日志管理器的步骤。本专利技术实施例提供一种日志系统,包括:延时日志记录器,用于接收记录日志的命令,所述命令中携带日志条目,将所述命令中的日志条目存储到注册日志管理器中;注册日志管理器,用于存储所述延时日志记录器传输的日志条目,按照设定条件将存储的日志条目进行写操作。优选的,所述注册日志管理器是通过对日志管理器属性进行设置后注册得到;所述延时日志记录器由所述注册日志管理器创建并提供给用户输入命令。优选的,所述注册日志管理器包括:存储单元,用于设置日志条目列表存储所述延时日志记录器传输的日志条目;处理单元,用于生成线程,由所述线程按照设定条件将存储的日志条目写入到目的地,并将写入操作已完成的日志条目删除。优选的,所述注册日志管理器还包括:条件设置单元,用于将所述设定条件设置为日志条目存储的时间顺序。优选的,所述注册日志管理器还包括:检查单元,用于在获知应用服务器接收到停止运行命令时,查看所述存储单元是否存在未进行写操作的日志条目,若存在,则通知所述处理单元将未进行写操作的日志条目进行写操作。从上述技术方案可以看出,本专利技术实施例技术方案提供的日志记录器,在接收用户输入的记录日志的命令后,不是直接将命令中的日志条目进行写操作,而是将其存储到注册日志管理器中,由注册日志管理器对存储的日志记录进行写操作。这样,就不需要等待日志写操作完成后才执行其他正常业务程序,从而能够减少对正常业务的影响,提高正常业务的执行速度。而且,对于具有大量日志写入需求且具有大量并发程序运行的情况,各个并发程序都不需要等待日志写完才能继续执行,这样就可以大大提高程序的总体执行速度。进一步的,本专利技术实施例技术方案中,所述设定条件可以根据需要进行设置,例如设置为日志条目存储的时间顺序。另外,还增加了一个检测机制,即在获知应用服务器接收到停止运行命-->令时,查看是否存在未进行写操作的日志条目,若存在,则将未进行写操作的日志条目进行写操作,从而防止遗漏写入日志条目。附图说明图1是本专利技术实施例一日志记录方法流程图;图2是本专利技术实施例二日志记录方法流程图;图3是本专利技术实施例三日志记录方法流程图;图4是本专利技术实施例日志系统结构示意图。具体实施方式本专利技术实施例提供一种日志记录方法,能够减少对正常业务的影响,提高正常业务的执行速度。本专利技术实施例技术方案主要是提供一个新的日志记录器,在接收用户输入的记录日志的命令后,不是直接将命令中的日志条目进行写操作,而是将其存储到注册日志管理器中,例如存在日志管理器的日志条目列表中,由注册日志管理器对存储的日志记录进行写操作。这样,就不需要等待日志写操作完成后才执行其他正常业务程序,从而能够减少对正常业务的影响,提高正常业务的执行速度。本专利技术实施例是以日志系统应用于应用服务器的场景举例说明。为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。请参阅图1,是本专利技术实施例一日志记录方法流程图,包括:步骤101、延时日志记录器接收记录日志的命令,所述命令中携带日志条目;延时日志记录器由注册日志管理器创建并提供给用户输入命令。注册日志管理器是注册到系统中替换原有的日志管理器的实体,相比于原有的日志管理器,注册日志管理器可以提供一个单独的线程用于专门处理日志条目的写操作。当应用服务器启动后,日志系统中的注册日志管理器也会启动。当用户获取到延时日志记录器时,向其输入记录日志的命令,其中携带需要写的日志条目。延时日志记录器接收用户输入的命令。步骤102本文档来自技高网
...

【技术保护点】
一种日志记录方法,其特征在于,包括: 延时日志记录器接收记录日志的命令,所述命令中携带日志条目; 延时日志记录器将所述命令中的日志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目进行写操作。

【技术特征摘要】
1、一种日志记录方法,其特征在于,包括:延时日志记录器接收记录日志的命令,所述命令中携带日志条目;延时日志记录器将所述命令中的日志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目进行写操作。2、根据权利要求1所述的日志记录方法,其特征在于:所述延时日志记录器接收记录日志的命令之前进一步包括:通过对日志管理器属性的设置,注册新的日志管理器替换原有的日志管理器,得到注册日志管理器;所述注册日志管理器创建延时日志记录器,将所述延时日志记录器提供给用户输入命令。3、根据权利要求1或2所述的日志记录方法,其特征在于:所述由注册日志管理器按照设定条件将存储的日志条目进行写操作具体为:由所述注册日志管理器生成线程,由所述线程按照设定条件将存储的日志条目写入到目的地,并将写入操作已完成的日志条目删除。4、根据权利要求3所述的日志记录方法,其特征在于:所述设定条件具体为:日志条目存储的时间顺序。5、根据权利要求1或2所述的日志记录方法,其特征在于:所述延时日志记录器将所述命令中的日志条目存储到注册日志管理器中具体为:延时日志记录器将所述命令中的日志条目存储到注册日志管理器的日志条目列表中。6、根据权利要求1或2所述的日志记录方法,其特征在于,还包括:所述注册日志管理器在获知应用服务器接收到停止运行命令时,查看是否存在未进行写操作的日志条目,若存在,将未进行写操作的日志条目进行写操作。7、根据权利要求1或2所述的日志记录...

【专利技术属性】
技术研发人员:江海军
申请(专利权)人:深圳市金蝶中间件有限公司
类型:发明
国别省市:94[中国|深圳]

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

1