一种获取进程输出日志的方法、装置及企业系统转让专利

申请号 : CN201010524996.8

文献号 : CN102455889B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘习红

申请人 : 金蝶软件(中国)有限公司

摘要 :

本发明适用于计算机软件领域,提供了一种获取进程输出日志的方法、装置及企业系统。所述方法包括:当在第一进程中创建第二进程时,获取第二进程的日志输入流;通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流;当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件。本发明通过第一进程创建监控线程定期检查第二进程的日志输入流的方法获取所述第二进程的输出日志,定期检查第二进程的日志输入流的方法保证了能够实时获得日志信息,且日志流的使用能够方便且低消耗地获取进程的输出日志。

权利要求 :

1.一种获取进程输出日志的方法,其特征在于,所述方法包括下列步骤:当在第一进程中创建第二进程时,获取第二进程的日志输入流,所述第二进程的日志输入流包括一般日志输入流和错误日志输入流;

通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流;

当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件,所述通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流的步骤具体为:通过第一进程创建第一监控线程和第二监控线程;

通过第一监控线程监控定期检查一般日志输入流是否产生了新日志流;

通过第二监控线程监控定期检查错误日志输入流是否产生了新日志流。

2.如权利要求1所述的方法,其特征在于,当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件的步骤具体为:当监控线程监测到第二进程的日志输入流产生了新日志流时将新日志流输出到缓存;

将缓存中的新日志流输出到第二进程的进程日志文件。

3.一种获取进程输出日志的装置,其特征在于,所述装置包括:输入流获取模块,用于通过在第一进程中创建第二进程,并获取所述第二进程的日志输入流,所述第二进程的日志输入流包括一般日志输入流和错误日志输入流;

定期检查模块,通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流;

新日志输出模块,用于当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件;

所述通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流的步骤具体为:通过第一进程创建第一监控线程和第二监控线程;

通过第一监控线程监控定期检查一般日志输入流是否产生了新日志流;

通过第二监控线程监控定期检查错误日志输入流是否产生了新日志流。

4.如权利要求3所述的装置,其特征在于,所述装置还包括:缓存模块,用于当监控线程监测到第二进程的日志输入流产生了新日志流时将新日志流输出到缓存,再将缓存中的新日志流输出到第二进程的进程日志文件。

5.一种包括权利要求3至4任一权利要求所述的获取进程输出日志的装置的企业系统。

说明书 :

一种获取进程输出日志的方法、装置及企业系统

技术领域

[0001] 本发明属于计算机软件领域,尤其涉及一种获取进程输出日志的方法、装置及企业系统。

背景技术

[0002] 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。大型的商业应用中,一般由多个不同的进程来提供服务,需要查询这些进程的输出日志或者直接读取进程输出的日志来监控大型商业应用的服务,但对进程输出日志的读取或进程输出日志的查询将导致输出日志慢,消耗资源多,不能保证实时性等缺点。

发明内容

[0003] 本发明实施例的目的在于提供一种方便、快捷的获取进程输出日志的方法,旨在解决不能实时地获取进程输出日志的问题。
[0004] 本发明实施例是这样实现的,一种获取进程输出日志的方法,所述方法包括下列步骤:
[0005] 当在第一进程中创建第二进程时,获取第二进程的日志输入流,所述第二进程的日志输入流包括一般日志输入流和错误日志输入流;
[0006] 通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流;
[0007] 当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件,
[0008] 所述通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流的步骤具体为:
[0009] 通过第一进程创建第一监控线程和第二监控线程;
[0010] 通过第一监控线程监控定期检查一般日志输入流是否产生了新日志流;
[0011] 通过第二监控线程监控定期检查错误日志输入流是否产生了新日志流。
[0012] 本发明实施例的另一目的在于提供一种获取进程输出日志的装置,所述装置包括:
[0013] 输入流获取模块,用于通过在第一进程中创建第二进程,并获取所述第二进程的日志输入流,所述第二进程的日志输入流包括一般日志输入流和错误日志输入流;
[0014] 定期检查模块,通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流。
[0015] 新日志输出模块,用于当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件,所述通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流的步骤具体为:
[0016] 通过第一进程创建第一监控线程和第二监控线程;
[0017] 通过第一监控线程监控定期检查一般日志输入流是否产生了新日志流;
[0018] 通过第二监控线程监控定期检查错误日志输入流是否产生了新日志流。
[0019] 本发明实施例的另一目的在于提供一种企业系统,包括所述的获取进程输出日志的装置。
[0020] 在本发明实施例中,通过在第一进程中启动第二进程后获取所述第二进程的输入流,并通过第一进程创建的监控线程定期检查第二进程的日志输入流的方法获取第二进程的输出日志。定期检查第二进程的日志输入流的方法保证了能够实时获得日志信息,且日志流的使用能够方便且低耗地获取进程输出日志。

附图说明

[0021] 图1是本发明第一实施例提供的获取进程输出日志的方法的流程图;
[0022] 图2是本发明第二实施例提供的获取进程输出日志的方法的流程图;
[0023] 图3是本发明实施例提供的获取进程输出日志的装置示意图。

具体实施方式

[0024] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025] 本发明实施例通过在第一进程中启动第二进程后获取所述第二进程的输入流,并通过所述第一进程创建的监控线程定期检查所述第二进程的日志输入流的方法获取所述第二进程的输出日志。
[0026] 本发明提供了一种获取进程输出日志的方法和装置:
[0027] 所述方法包括:
[0028] 当在第一进程中创建第二进程时,获取第二进程的日志输入流;
[0029] 通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流;
[0030] 当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件。
[0031] 所述装置包括:
[0032] 输入流获取模块,用于通过在第一进程中创建第二进程,并获取所述第二进程的日志输入流。
[0033] 定期检查模块,通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流。
[0034] 新日志输出模块,用于当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件。
[0035] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0036] 实施例一:
[0037] 图1示出了本发明第一实施例提供的获取进程输出日志的方法的具体流程。
[0038] 在步骤S101中,当在第一进程中创建第二进程时,获取第二进程的日志输入流。
[0039] 在本发明实施例中,第二进程为第一进程创建的子进程。所获取的第二进程的日志输入流包括一般日志输入流和错误日志输入流。
[0040] 在步骤S102中,通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流。
[0041] 在本发明实施例中,第一进程分别创建两个监控线程分别为第一监控线程和第二监控线程。其中第一监控线程用于定期检查第二进程的一般日志输入流是否产生了新日志流,第二监控线程用于定期检查第二进程的错误日志输入流是否产生了新日志流。定期可以按照实际需求设定,如每隔10毫秒检查一次等,当然定期还可以设置为其它时间间隔,在此不以该举例说明为限。定期检查所述第二进程输出日志流的方法能够实时地获取第二进程的输出日志流。
[0042] 在步骤S103中,当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件。
[0043] 在本发明实施例中,当第一监控线程监测到所述一般日志输入流有新日志流产生,则将一般日志输入流的新日志流输出到第二进程的进程日志文件。当第二监控线程监测到所述错误日志输入流有新日志流产生,则将错误日志输入流的新日志流输出到第二进程的进程日志文件。
[0044] 在本发明实施例中,若没有新日志流产生,监控线程则返回继续定期检查第二进程的日志输入流。
[0045] 在本发明实施例中,监控线程定期检查进程是否有新日志流产生的方法,能够实时获取所属进程的日志输出流,且日志流的使用能够方便且低耗地获取进程输出日志。
[0046] 实施例二:
[0047] 图2示出了本发明第二实施例提供的获取进程输出日志的方法的具体流程。
[0048] 在步骤S201中,当在第一进程中创建第二进程时,获取第二进程的日志输入流。
[0049] 在步骤S202中,通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流。
[0050] 在步骤S203中,当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至缓存。
[0051] 在本发明实施例中,当有新日志流产生时,首先将新日志流输出到缓存中。
[0052] 在步骤S204中,将缓存中的日志流输出到第二进程的进程日志文件。
[0053] 在本发明实施例中,新日志流在输出到日志文件前先输出到缓存,可加速日志的输出速度,且不会出现阻塞的情况。
[0054] 实施例三:
[0055] 图3示出了本发明实施例提供的获取进程输出日志的装置的结构,为了便于说明,仅示出了与本发明实施例相关的部份。该装置可以是内置于企业系统中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到企业系统或企业系统的应用系统中。其中:
[0056] 输入流获取模块1,用于通过在第一进程中创建第二进程,并获取所述第二进程的日志输入流。
[0057] 在本发明实施例中,第二进程为第一进程创建的子进程。所获取的第二进程的日志输入流包括一般日志输入流和错误日志输入流。
[0058] 定期检查模块2,通过第一进程创建监控线程,并通过监控线程定期检查第二进程的日志输入流是否产生了新日志流。
[0059] 缓存模块3,用于当监控线程监测到第二进程的日志输入流产生了新日志流时将新日志流输出到缓存,再将缓存中的新日志流输出到第二进程的进程日志文件。
[0060] 新日志输出模块4,用于当监控线程监测到第二进程的日志输入流产生了新日志流时,将新日志流输出至第二进程的进程日志文件。
[0061] 在本发明实施例中,通过在第一进程中启动第二进程后获取所述第二进程的输入流,并通过所述第一进程创建的监控线程定期检查所述第二进程的日志输入流的方法获取所述第二进程的输出日志。定期检查第二进程的日志输入流的方法保证了能够实时获得日志信息,且日志流的使用能够方便且低耗地获取进程输出日志。获得输出日志信息后又将其存入缓存,使得日志的输出较快且不会出现阻塞的情况。
[0062] 本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
[0063] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。