日志记录方法及日志系统的制作方法

文档序号:6466407阅读:173来源:国知局
专利名称:日志记录方法及日志系统的制作方法
技术领域
本发明涉及计算机应用领域,具体涉及一种日志记录方法及日志系统。
背景技术
在计算机技术应用中,日志(log)起着十分重要的作用。日志,用于在 计算机程序中对某些信息进行记录,包括提示、警告及错误信息等,这些信 息可以用于分析计算机程序的运行过程。因此,在计算机或其他设备中一般 都设置有日志系统专门进行日志记录工作。
曰志系统中含有日志管理器,当用户发出写日志命令时,日志管理器为
用户提供一个日志记录器(Logger),通过该日志记录器可以直接把各种级别 的日志条目写到曰志文件、控制台、或数据库等各种日志目的地。
以Java应用举例说明,Java语言本身带有日志功能,该功能设置在 java.util.logging包中。Java应用中,日志系统的记录方式是实时的,也就是 说,在接收到用户发出的记录日志的命令后,立即停下正常的程序的执行, 由日志管理器提供的Logger开始记录日志,日志记录完之后,程序进一步往 下执行。举例说明,例如程序运行的线程为
调用代码1......;
logger.log ("—条日志,,); 写日志的命令。
调用代码2......;
Logger的写日志过程与用户调用代码是在一个线程中顺序执行,写日志 代码执行完才能运行到调用代码2,调用写日志的代码返回后,表示日志已 经记录完成。
在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题 现有技术的日志记录方法是采用实时记录方式,其他程序需要等待日志 记录完成后才能继续执行,因此在记录日志时会导致正常业务的阻塞。而且, 曰志系统本身的特点要求日志的记录是串行的,按顺序一条一条地记录。现 有的Java日志系统如果应用于并发程序多个线程的程序同时要记录日志,而 每条日志的记录过程却不能并发处理,这就导致某一时刻只能有一个线程可以执行日志操作,在它记录日志时,其他线程也必须等待,这种等待的时间, 在并发量大而且日志记录频繁的程序中,往往比记录日志本身消耗的时间还 要多。
总之,现有技术的日志记录方法由于采用实时记录方式,会对正常业务 造成影响。

发明内容
本发明实施例要解决的技术问题是提供一种日志记录方法及日志系统, 能够在进行日志记录时减少对正常业务的影响,提高正常业务的执行速度。
为解决上述技术问题,本发明所提供的实施例是通过以下技术方案实现

本发明实施例提供一种日志记录方法,包括延时日志记录器接收记录 曰志的命令,所述命令中携带日志条目;延时日志记录器将所述命令中的日 志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存 储的日志条目进行写操作。
优选的,所述延时日志记录器接收记录日志的命令之前进一步包括通 过对日志管理器属性的设置,注册新的日志管理器替换原有的日志管理器, 得到注册日志管理器;所述注册日志管理器创建延时日志记录器,将所述延 时日志记录器提供给用户输入命令。
优选的,所述由注册日志管理器按照设定条件将存储的日志条目进行写 操作具体为由所述注册日志管理器生成线程,由所述线程按照设定条件将 存储的日志条目写入到目的地,并将写入操作已完成的日志条目删除。
优选的,所述设定条件具体为日志条目存储的时间顺序。
优选的,所述延时日志记录器将所述命令中的日志条目存储到注册曰志 管理器中具体为延时日志记录器将所述命令中的日志条目存储到注册日志 管理器的曰志条目列表中。
优选的,所述注册日志管理器在获知应用服务器接收到停止运行命令时, 查看是否存在未进行写操作的日志条目,若存在,则将未进行写操作的日志 条目进行写操作。
优选的,所述延时日志记录器接收记录日志的命令之后进一步包括判断所述命令中的日志条目是否达到设定级别,若是,直接对日志条目进行写 操作,若否,执行将所述命令中的日志条目存储到注册日志管理器的步骤。
本发明实施例提供一种日志系统,包括延时日志记录器,用于接收记
录曰志的命令,所述命令中携带日志条目,将所述命令中的日志条目存储到
注册日志管理器中;注册日志管理器,用于存储所述延时日志记录器传输的 日志条目,按照设定条件将存储的日志条目进行写操作。
优选的,所述注册日志管理器是通过对日志管理器属性进行设置后注册 得到;所述延时日志记录器由所述注册日志管理器创建并提供给用户输入命 令。
优选的,所述注册日志管理器包括存储单元,用于设置日志条目列表 存储所述延时日志记录器传输的日志条目;处理单元,用于生成线程,由所 述线程按照设定条件将存储的日志条目写入到目的地,并将写入操作已完成 的日志条目删除。
优选的,所述注册日志管理器还包括条件设置单元,用于将所述设定 条件设置为日志条目存储的时间顺序。
优选的,所述注册日志管理器还包括检查单元,用于在获知应用服务 器接收到停止运行命令时,查看所述存储单元是否存在未进行写操作的日志 条目,若存在,则通知所述处理单元将未进行写操作的日志条目进行写操作。
从上述技术方案可以看出,本发明实施例技术方案提供的日志记录器, 在接收用户输入的记录日志的命令后,不是直接将命令中的日志条目进行写 操作,而是将其存储到注册日志管理器中,由注册日志管理器对存储的日志 记录进行写操作。这样,就不需要等待日志写操作完成后才执行其他正常业 务程序,从而能够减少对正常业务的影响,提高正常业务的执行速度。而且,
对于具有大量日志写入需求且具有大量并发程序运行的情况,各个并发程序 都不需要等待日志写完才能继续执行,这样就可以大大提高程序的总体执行速度。
进一步的,本发明实施例技术方案中,所述设定条件可以根据需要进行 设置,例如设置为日志条目存储的时间顺序。
另外,还增加了一个检测机制,即在获知应用服务器接收到停止运行命令时,查看是否存在未进行写操作的日志条目,若存在,则将未进行写操作
的日志条目进行写操作,从而防止遗漏写入日志条目。


图l是本发明实施例一 日志记录方法流^i图; 图2是本发明实施例二日志记录方法流禾呈图; 图3是本发明实施例三日志记录方法流程图; 图4是本发明实施例日志系统结构示意图。
具体实施例方式
本发明实施例提供一种日志记录方法,能够减少对正常业务的影响,提 高正常业务的执行速度。
本发明实施例技术方案主要是提供一个新的日志记录器,在接收用户输 入的记录日志的命令后,不是直接将命令中的日志条目进行写操作,而是将 其存储到注册日志管理器中,例如存在日志管理器的日志条目列表中,由注 册日志管理器对存储的日志记录进行写操作。这样,就不需要等待日志写操 作完成后才执行其他正常业务程序,从而能够减少对正常业务的影响,提高 正常业务的执行速度。
本发明实施例是以日志系统应用于应用服务器的场景举例说明。 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附 图和具体实施方式
对本发明作进一步详细的说明。
请参阅图1 ,是本发明实施例 一 日志记录方法流程图,包括
步骤IOI、延时日志记录器接收记录日志的命令,所述命令中携带日志条

延时日志记录器由注册日志管理器创建并提供给用户输入命令。注册日 志管理器是注册到系统中替换原有的日志管理器的实体,相比于原有的日志 管理器,注册日志管理器可以提供一个单独的线程用于专门处理日志条目的 写操作。当应用服务器启动后,日志系统中的注册日志管理器也会启动。
当用户获取到延时日志记录器时,向其输入记录日志的命令,其中携带 需要写的日志条目。延时日志记录器接收用户输入的命令。
步骤102、延时日志记录器将所述命令中的日志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目进行写操作。
延时日志记录器接收用户输入的命令后,不执行对日志条目的写操作, 而是将命令中携带的日志条目存储到注册日志管理器中,然后立即返回,使 得用户的程序可以继续向下执行,而无需等待日志条目的写操作真正完成。
注册日志管理器可以设置日志条目列表,用于存储延时日志记录器传输 的日志条目。当然,也可以按其他数据存储方式进行存储。
注册日志管理器含有一个单独的线程,当应用服务器启动后,该线程立 即监控日志条目中的日志条目,按照设定条件将存储的日志条目进行写操作, 即将存储的日志条目写入到目的地。当对日志条目列表中的一个日志条目的 写操作完成后,将该日志条目删除,再继续对下一个日志条目进行写操作。
这里所述的设定条件,例如可以是日志条目存储的时间顺序,或者是其 他方式。
可以发现,本实施例的技术方案,由于延时日志记录器接收记录日志的 命令,不是执行对命令中携带的日志条目的写操作,而是将日志条目存储到 注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目 进行写操作。这样,就不需要等待日志写操作完成后才执行其他正常业务程 序,从而能够减少对正常业务的影响,提高正常业务的执行速度。而且,对 于具有大量日志写入需求且具有大量并发程序运行的情况,各个并发程序都 不需要等待日志写完才能继续执行,这样就可以大大提高程序的总体执行速 度。
请参阅图2,是本发明实施例二日志记录方法流程图。在实施例二中将更 详细的介绍日志记录的具体流程。实施例二中以Java应用举例说明但不局限于 此。
如图2所示,包括
步骤201、用户发起请求,要求获取日志记录器Logger;
用户调用标准应用程序接口 ( Application Programming Interface, API)要 求获取Logger进4亍使用。
步骤202、注册日志管理器即Apusic日志管理器(后续采用Apusic日志管 理器进行描述)接收用户的请求;Apusic日志管理器是本发明实施例中所提供的注册到系统中用于替换系 统中原有的日志管理器的实体,其功能已经有所变化,可以提供一个单独的 线程用于专门处理日志条目的写操作。
具体可以通过在Java语言系统中设置日志管理器属性(即 java.util.logging.manager属性),将Apusic日志管理器注册到Java语言系统用于 替换Java语言系统中原有的日志管理器。
设置java.util.logging.manager属性进行Apusic日志管理器的注册,可以有 两种方式
1) 启动java程序时加上属性设置参数 -Djava.util.logging.manageF要设置的管理器类名,例如 Java —Djava.util.logging.manager^
com.apusic.logging.manager.ServerLogManager com.apusic.server.Main; 表 示注册Apusic日志管理器替换原有的日志管理器。
2) 在程序中加上属性设置参数,例如在程序的开始,通过代码进行设置 System.setProperty("java.util.logging.manager",
"com邻usic.logging.manager.ServerLogManager"); 表示注册Apusic 日志管理器替换原有的日志管理器。
当采用Apusic日志管理器替换了 Java语言系统自身的日志管理器后,相关 事务由Apusic日志管理器进行控制,因此Apusic日志管理器会接收用户的请 求。
步骤203、 Apusic日志管理器创建延时日志记录器即LazyLogger并返回给 用户;
Apusic日志管理器创建一个全新的Logger即LazyLogger, LazyLogger是继 牙义自标准的java.util.logging.Logger, ^f旦LazyLogger才丸ft的动作是i殳置为^]夸才妄收 到的命令中的日志条目存储到Apusic日志管理器的日志条目列表中,而不是设 置为直接把日志条目写到目的地。
步骤204、 LazyLogger接收用户输入的记录日志的命令,将命令中携带的 日志条目存储到Apusic日志管理器;
用户获取到LazyLogger之后,向LazyLogger输入命令,要求写出某个曰志条目。LazyLogger接到用户的命令后,不直接把日志条目写到目的地,而是把 它写入到Apusic日志管理器内的一个日志条目列表,然后立刻返回,使得用户 的正常业务程序可以继续向下执行,而无需等待日志条目真正写入到目的地。 步骤205、 Apusic日志管理器将存储的日志条目进行写操作。 Apusic日志管理器生成 一 个负责日志写入的线程,这个线程实时监控 Apusic日志管理器内的日志条目列表,按照设定条件对存储的日志条目进行写 操作。
Apusic日志管理器生成一个线程,例如设置代码
My Thread t = new MyThread();
t.start();
这样,线程t就开始运行了。
所述的设定条件可以根据需要进行设置。例如生成的线程按照日志条目 存储的时间顺序,对先存入这个日志条目列表的日志条目,进行实际的写入 操作,当写入到目的地后,从列表中删除该条目,再继续对下一个日志条目 进行写操作。
需要说明的是,上述步骤中LazyLogger还可以根据日志条目的级别进行相 应处理。日志条目的级别是指日志条目的严重程度,例如可以分为 一般、 警告、错误、严重等。那么对于日志条目的级别是达到某一设定级别及以上 的,假设级别为"严重",贝'jLazyLogger可以采取立刻写入的方式,而不是存 储到日志条目列表,进行延时写入。这样,可以保证某些日志条目的实时性, 但这种处理行为是可选的,因为日志系统的特点是实时性要求不是很强,对 于大多数日志条目,并不需要这样的实时性。
还需要说明的是,上述步骤204和205是并行处理的,即步骤204中 LazyLogger把各种日志条目存储到Apusic日志管理器中的日志条目列表的同 时,步骤205中Apusic日志管理器也在不断的将日志条目列表中的日志条目进 行写操作。
可以发现,本实施例的技术方案,注册了Apusic日志管理器替换原有的日 志管理器,并且由Apusic日志管理器创建一个LazyLogger,该LazyLogger接收 用户输入的记录日志的命令后,不是执行对命令中携带的日志条目的写操作,而是将日志条目存储到Apusic日志管理器的日志条目列表中,由所述Apusic
日志管理器按照设定条件将存储的日志条目进行写操作。这样,就不需要等 待曰志写操作完成后才执行其他正常业务程序,从而能够减少对正常业务的 影响,提高正常业务的执行速度。而且,对于具有大量日志写入需求且具有 大量并发程序运行的情况,各个并发程序都不需要等待日志写完才能继续执 行,这样就可以大大提高程序的总体执行速度。另外,从用户角度来说,不 需要改变原有操作方式及习惯,从而为用户提供了比较好的用户体验。
请参阅图3,是本发明实施例三日志记录方法流程图。实施例三与实施例
二相比,主要是增加了一个防止遗漏写入日志条目的步骤。
如图3所示,包括
步骤301、用户发起请求,要求获取日志记录器Logger;
用户调用标准应用程序接口 API,要求获取Logger进行使用。
步骤302、注册日志管理器即Apusic日志管理器(后续采用Apusic日志管 理器进行描述)接收用户的请求;
Apusic日志管理器是本发明实施例中所提供的注册到系统中用于替换系 统中原有的日志管理器的实体,其功能已经有所变化,可以提供一个单独的 线程用于专门处理日志条目的写操作。
具体可以通过在Java语言系统中设置日志管理器属性(即 java.util.logging.manager属性),将Apusic日志管理器注册到Java语言系统用于 替换Java语言系统中原有的日志管理器。
设置java.util.logging.manager属性进行Apusic日志管理器的注册,可以有 两种方式,具体可参阅上述实施例二中的叙述。
当采用Apusic日志管理器替换了Java语言系统自身的日志管理器后,相关 事务由Apusic日志管理器进行控制,因此Apusic日志管理器会接收用户的请 求。
步骤303、 Apusic日志管理器创建延时日志记录器即LazyLogger并返回给 用户;
Apusic日志管理器创建一个全新的Logger即LazyLogger, LazyLogger是继 7|义自标准的java.util.logging丄ogger, ^f旦LazyLogger净丸4亍的动作是"i殳置为^l寻4妄收到的命令中的日志条目存储到Apusic日志管理器的日志条目列表中,而不是设 置为直接把日志条目写到目的地。
步骤304、 LazyLogger接收用户输入的记录日志的命令,将命令中携带的 日志条目存储到Apusic日志管理器;
用户获取到LazyLogger之后,向LazyLogger输入命令,要求写出某个曰志 条目。LazyLogger接到用户的命令后,不直接把日志条目写到目的地,而是把 它写入到Apusic日志管理器内的一个日志条目列表,然后立刻返回使得用户的 正常业务程序可以继续向下执行,而无需等待日志条目真正写入到目的地。
步骤305、 Apusic日志管理器将存储的日志条目进行写操作;
Apusic日志管理器生成一个负责日志写入的线程,这个线程实时监控 Apusic日志管理器内的日志条目列表,按照设定条件对存储的日志条目进行写 操作。
所述的设定条件可以根据需要进行设置。例如生成的线程例如按照曰志 条目存储的时间顺序,对先存入这个日志条目列表的日志条目,进行实际的 写入操作,当写入到目的地后,从列表中删除该条目,再继续对下一个日志 条目进行写操作。
需要说明的是,上述步骤中LazyLogger还可以根据日志条目的级别进行相 应处理。对于日志条目的级别是达到某一设定级别及以上的,假设级别为"严 重",则LazyLogger可以采取立刻写入的方式,而不是存储到日志条目列表, 进行延时写入。这样,可以保证某些日志条目的实时性,但这种处理行为是 可选的。
还需要说明的是,上述步骤304和305是并行处理的,即步骤304中 LazyLogger4巴各种日志条目存储到Apusic日志管理器中的日志条目列表的同 时,步骤305中Apusic日志管理器也在不断的将日志条目列表中的日志条目进 行写操作。
步骤306、 Apusic日志管理器在应用服务器停止运行前,查看是否存在未 进行写操作的日志条目,若存在,则将未进行写操作的日志条目进行写操作。
日志系统是运行在应用服务器中,当用户要求应用服务器停止运行时, 应用服务器需要进行一系列的程序操作才会最终停止运行,Apusic日志管理器获知应用服务器准备停止运行时,将要求LazyLogger停止将日志条目存储到日 志条目列表中,并立即查看日志条目列表,确定是否还存在未处理的日志条 目,若存在,则继续把未处理的日志条目写到目的地,然后才结束程序。这 样,就保证不会有日志条目遗漏进行写操作了 。
可以发现,本实施例的技术方案,在具有实施例二的有益效果的基础上, 进一步通过增加一个处理步骤,可以保证不会有日志条目遗漏进行写操作, 达到更好的效果。
上述内容详细介绍了本发明实施例的日志记录方法,相应的,本发明实
施例提供一种日志系统。
请参阅图4,是本发明实施例日志系统结构示意图。
如图4所示,日志系统包括延时日志记录器41、注册日志管理器42。
延时日志记录器41,用于接收记录日志的命令,所述命令中携带日志条
目,将所述命令中的日志条目存储到注册日志管理器42中。
注册日志管理器42,用于存储所述延时日志记录器41传输的日志条目,
按照设定条件将存储的日志条目进行写操作。
所述注册日志管理器42是通过对日志管理器属性进行设置后注册得到; 所述延时日志记录器41由所述注册日志管理器42创建并提供给用户输入命 令。注册日志管理器42是注册到系统中替换原有的日志管理器的实体,相比 于原有的日志管理器,注册日志管理器42可以提供一个单独的线程用于专门 处理日志条目的写操作。当应用服务器启动后,日志系统中的注册日志管理 器42也会启动。注册日志管理器42创建一个全新的日志记录器即延时日志记 录器41,延时日志记录器41是继承自标准的java.util.logging丄ogger,但执行的 动作是设置为将接收到的命令中的日志条目存储到注册日志管理器42的曰志 条目列表中,而不是设置为直接把日志条目写到目的地。当然,也可以再设 置其他执行动作,例如对于日志条目的级别是达到某一设定级别及以上的, 假设级别为"严重",则釆取立刻写入的方式。
所述注册日志管理器42包括存储单元421、处理单元422。 存储单元421,用于设置日志条目列表存储所述延时日志记录器41传输的 日志条目。当然,也可以按其他数据存储方式进行存储。处理单元422,用于生成线程,由所述线程按照设定条件将存储的日志条 目写入到目的地,并将写入操作已完成的日志条目删除。处理单元422含有一 个单独的线程,当应用服务器启动后,该线程立即监控曰志条目中的日志条 目,按照设定条件将存储的日志条目进行写操作,即将存储的日志条目写入 到目的地。当对日志条目列表中的一个日志条目的写操作完成后,将该日志 条目删除,再继续对下一个日志条目进行写操作。
所述注册日志管理器42还包括条件设置单元423。 条件设置单元423,用于将设定条件设置为日志条目存储的时间顺序。 当设定条件为日志条目存储的时间顺序时,处理单元422对先存入这个曰 志条目列表的日志条目,进行实际的写入操作,当写入到目的地后,从列表 中删除该条目,再继续对下一个日志条目进行写操作。 所述注册日志管理器42还包括检查单元424。
检查单元424,用于在获知应用服务器接收到停止运行命令时,查看所述 存储单元421是否存在未进行写操作的日志条目,若存在,则通知所述处理单 元422将未进行写操作的日志条目进行写操作。
综上所述,本发明实施例技术方案是提供一个新的日志记录器,在接收 用户输入的记录日志的命令后,不是直接将命令中的日志条目进行写操作, 而是将其存储到注册日志管理器中,由注册日志管理器对存储的日志记录进 行写操作。这样,就不需要等待日志写操作完成后才执行其他正常业务程序, 从而能够减少对正常业务的影响,提高正常业务的执行速度。而且,对于具 有大量日志写入需求且具有大量并发程序运行的情况,各个并发程序都不需 要等待日志写完才能继续执行,这样就可以大大提高程序的总体执行速度。
进一步的,本发明实施例技术方案中,所述设定条件可以根据需要进行 设置,例如设置为日志条目存储的时间顺序。
另外,还增加了一个检测机制,即在获知应用服务器接收到停止运行命 令时,查看是否存在未进行写操作的日志条目,若存在,则将未进行写操作 的曰志条目进行写操作,从而防止遗漏写入日志条目。
本发明可以用于众多通用或专用的计算系统环境或配置中。例如个人 计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型 计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。此
夕卜,本发明还可以在由计算机执行的计算机可执行指令的一般上下文中描述, 例如程序模块。 一般地,程序模块包括执行特定任务或实现特定抽象数据类 型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中 实践本发明,在这些分布式计算环境中,由通过通讯网络而被连接的远程处 理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备 在内的本地和远程计算机存储介质中。
以上对本发明实施例所提供的一种日志记录方法及日志系统进行了详细
实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本 领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均 会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种日志记录方法,其特征在于,包括延时日志记录器接收记录日志的命令,所述命令中携带日志条目;延时日志记录器将所述命令中的日志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目进行写操作。
2、 根据权利要求l所述的日志记录方法,其特征在于 所述延时日志记录器接收记录日志的命令之前进一步包括通过对日志管理器属性的设置,注册新的日志管理器替换原有的日志管 理器,得到注册日志管理器;所述注册日志管理器创建延时日志记录器,将所述延时日志记录器提供 给用户输入命令。
3、 根据权利要求1或2所述的日志记录方法,其特征在于 所述由注册日志管理器按照设定条件将存储的日志条目进行写操作具体为由所述注册日志管理器生成线程,由所述线程按照设定条件将存储的日 志条目写入到目的地,并将写入操作已完成的日志条目删除。
4、 根据权利要求3所述的日志记录方法,其特征在于 所述设定条件具体为日志条目存储的时间顺序。
5、 根据权利要求1或2所述的日志记录方法,其特征在于所述延时日志记录器将所述命令中的日志条目存储到注册日志管理器中 具体为延时日志记录器将所述命令中的日志条目存储到注册日志管理器的曰志 条目列表中。
6、 根据权利要求1或2所述的日志记录方法,其特征在于,还包括 所述注册日志管理器在获知应用服务器接收到停止运行命令时,查看是否存在未进行写操作的日志条目,若存在,将未进行写操作的日志条目进行 写操作。
7、 根据权利要求1或2所述的日志记录方法,其特征在于 所述延时日志记录器接收记录日志的命令之后进一步包括 判断所述命令中的日志条目是否达到设定级别,若是,直接对日志条目进行写操作,若否,执行将所述命令中的日志条目存储到注册日志管理器的 步骤。
8、 一种日志系统,其特征在于,包括延时日志记录器,用于接收记录日志的命令,所述命令中携带日志条目, 将所述命令中的日志条目存储到注册日志管理器中;注册日志管理器,用于存储所述延时日志记录器传输的日志条目,按照 设定条件将存储的日志条目进行写操作。
9、 根据权利要求8所述的日志系统,其特征在于所述注册日志管理器是通过对日志管理器属性进行设置后注册得到; 所述延时日志记录器由所述注册日志管理器创建并提供给用户输入命令。
10、 根据权利要求8所述的日志系统,其特征在于,所述注册日志管理器 包括存储单元,用于设置日志条目列表存储所述延时日志记录器传输的曰志条目;处理单元,用于生成线程,由所述线程按照设定条件将存储的日志条目 写入到目的地,并将写入操作已完成的日志条目删除。
11、 根据权利要求10所述的日志系统,其特征在于,所述注册日志管理 器还包括条件设置单元,用于将所述设定条件设置为日志条目存储的时间顺序。
12、 根据权利要求10或11所述的日志系统,其特征在于,所述注册曰志 管理器还包括检查单元,用于在获知应用服务器接收到停止运行命令时,查看所述存 储单元是否存在未进行写操作的日志条目,若存在,则通知所述处理单元将 未进行写操作的日志条目进行写操作。
全文摘要
本发明实施例公开一种日志记录方法及日志系统。所述方法包括延时日志记录器接收记录日志的命令,所述命令中携带日志条目;延时日志记录器将所述命令中的日志条目存储到注册日志管理器中,由所述注册日志管理器按照设定条件将存储的日志条目进行写操作。相应的,本发明实施例提供一种日志系统,包括延时日志记录器,用于接收记录日志的命令,所述命令中携带日志条目,将所述命令中的日志条目存储到注册日志管理器中;注册日志管理器,用于存储所述延时日志记录器传输的日志条目,按照设定条件将存储的日志条目进行写操作。本发明实施例提供的技术方案能够在进行日志记录时减少对正常业务的影响,提高正常业务的执行速度。
文档编号G06F11/34GK101425034SQ20081014570
公开日2009年5月6日 申请日期2008年8月11日 优先权日2008年8月11日
发明者江海军 申请人:深圳市金蝶中间件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1