CN101414255A - 日志事件处理方法与设备 - Google Patents
日志事件处理方法与设备 Download PDFInfo
- Publication number
- CN101414255A CN101414255A CNA2007101808966A CN200710180896A CN101414255A CN 101414255 A CN101414255 A CN 101414255A CN A2007101808966 A CNA2007101808966 A CN A2007101808966A CN 200710180896 A CN200710180896 A CN 200710180896A CN 101414255 A CN101414255 A CN 101414255A
- Authority
- CN
- China
- Prior art keywords
- predetermined condition
- log event
- processing
- described predetermined
- log
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Abstract
公开了一种日志事件处理方法和设备,该方法包括步骤:接收日志事件;确定该日志事件是否满足预定的条件;以及当该日志事件满足该预定的条件时,执行根据该预定的条件确定的处理。本方法和设备能够在不改变现有软件和硬件架构的前提下,根据日志事件执行根据预定的条件确定的处理。
Description
技术领域
本发明一般涉及计算机领域,特别涉及日志事件处理方法与设备。
背景技术
目前,事件模型已成为许多框架和基础设施的基础部分。在使用基于事件模型的应用程序时,用户通常希望得到对事件的实时提示和自动跟踪处理。例如,在银行业务用户使用Java和JLog开发的管理应用产品中,用户可能希望软件供应商能够将对事件的实时提示和自动跟踪处理加入现有软件产品。然而,根据现有的日志记录工具而频繁添加各种处理的成本通常较高。
现有的日志记录工具(下文称为日志记录模块)例如:(1)JLog(Logging Toolkit for Java),由IBM公司提供,具有用于日志记录和跟踪(tracing)的多种功能。JLog能够创建详细的日志、调试文件并可以同时在后台工作;(2)Log4J,用于消息日志记录,可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式。可以通过一个配置文件来灵活配置,不需要修改程序代码;(3)Huston以及(4)Trace Log等等。
然而,上述日志记录模块通常存在以下问题:不能方便地对日志事件进行除日志记录以外的处理,例如:实时提示、自定义操作;对日志事件捕捉的实现和指示随系统不同而变化;如果需要进行额外处理,则需要涉及大量额外的分析和设计工作,并且需要在程序中进行硬编码(hard-coded)设置;对于后续使用者和维护者而言难以复用。
发明内容
针对以上问题,本发明提供了一种基于确定日志事件是否满足预定的条件来执行根据该预定的条件确定的处理的方法和设备。
本发明的目的是在不改变现有软件和硬件架构的前提下,基于日志事件执行根据预定的条件确定的处理。
根据本发明的第一方面,提供了一种日志事件处理方法,包括步骤:接收日志事件;确定该日志事件是否满足预定的条件;以及当该日志事件满足该预定的条件时,执行根据该预定的条件确定的处理。
根据本发明的第二方面,提供了一种日志事件处理设备,包括步骤:接收单元,操作用于接收日志事件;确定单元,操作用于确定该日志事件是否满足预定的条件;以及执行单元,操作用于当该日志事件满足该预定的条件时,执行根据该预定的条件确定的处理。
本发明的优点包括:
(1)在应用中,本发明的方法和设备可以方便地和无缝地插入现有的日志记录机制,不需要修改已有的程序结构,仅需进行较少的工作量来修改配置,这节省了大量时间和费用;
(2)用户可以自定义各种处理,这些处理可以在特定事件发生时自动触发,并且整个过程中不再需要人工干预;
(3)利用本发明的方法和设备获取的日志信息将被分类和充分利用,这有利于用户即时得到有关事件的指示;
(4)本发明的方法和设备易于使用。
通过以下对说明本发明原理的优选实施方式的描述,并结合附图,本发明的其他特征以及优点将会是显而易见的。
附图说明
图1是日志记录模块结构的示意图;
图2是按照本发明的一个实施例的日志事件处理方法的流程图;
图3是按照本发明的另一个实施例的日志事件处理方法的流程图;
图4是按照本发明的另一个实施例的日志事件处理设备的方框图;以及
图5示出适于实施本发明的计算机系统的结构方框图。
具体实施方式
以下将详细描述本发明的实施方式。
在本发明所用的术语中,日志事件包括记录计算机硬件、软件和系统的安全、通信、登录等多方面的信息。例如,日志事件可以包括日志事件ID、关键字、时间戳、日志事件级别、日志事件体、日志名称等字段。其中,日志事件级别字段例如可以具有1-4个级别,当日志事件级别等于最高级别1时,表示日志事件重要性最高,而等于级别4时,表示日志事件重要性最低。日志事件体字段例如可以包括各种不同的日志内容,诸如“发生异常”、“修改参数设置”等。
图1是日志记录模块100结构的示意图,这里以JLog为例进行描述。日志记录模块是记录应用程序运行过程中的各个日志事件的模块。应该理解,尽管这里使用的JLog作为日志记录模块的例子进行描述和解释,但不应该认为JLog是对本发明的日志记录模块的限制,例如本发明的日志记录模块还可以是Log4J、Huston、Trace Log等。
图1所示的日志记录模块100(即,JLog)包括输入部件110、管理部件120、格式化部件130和输出部件140。JLog的工作流程如下:
应用程序调用JLog进行日志记录,输入部件110接收来自应用程序的日志事件并将该日志事件传送到管理部件120;
管理部件120具有多种功能,包括:提取日志事件功能,例如得到日志事件的各个字段;管理日志事件的功能,例如过滤或屏蔽该日志事件中的某些字段;等等。另外,管理部件120具有对外的接口,可以添加附加功能。通过设置JLog的配置文件,当管理部件120接收到日志事件时,管理部件120的各个功能能够同时进行或选择性地进行。
格式化部件130将日志事件格式化特定形式。用户可以通过设置JLog的配置文件来定义格式化设置,从而格式化部件130可以根据特定的格式化设置来对日志事件进行格式化。格式化设置例如可以包括:对日志事件包含的字段进行排序,将多个字段组合为一个新的字段,等等。格式化部件130也具有对外接口。
输出部件140输出经过格式化的特定形式的日志事件,例如将该日志事件记录到文件中、输出到控制台、打印为文字或者通过套节字(socket)输出,以便用户查看和使用。
图2是按照本发明的一个实施例的日志事件处理方法的流程图。
在详细描述图2所示的实施例之前,应该理解的是,本发明的方法可以在不同的时机接收日志事件,例如,可以在日志记录模块对所述日志事件管理、格式化或者输出时对日志事件进行接收,即,从JLog的管理部件120、格式化部件130或输出部件140接收日志事件。在图2所示的实施例中,示例性地示出了从管理部件120接收日志事件例子;而在图3所示的实施例中,示例性地示出了从格式化部件130接收日志事件的例子。
此外,应该理解的是,本发明的方法在确定日志事件是否满足预定的条件的过程中具有多种实现方式,例如:可以对日志事件的各个字段逐一判断,首先从日志事件中提取出一个字段,确定该字段是否满足预定的条件,执行根据该预定的条件确定的处理,然后判断日志事件的其他字段。图2描述的实施例中采用了这种方式。另外,也可以以各个预定的条件逐一判断,首先获取一个预定的条件,确定日志事件是否有字段满足该预定的条件,执行根据该预定的条件确定的处理,然后判断其他预定的条件。这在本发明图3所示的另一实施例中进行了描述。
此外,应该理解的是,本发明的方法在执行根据预定的条件确定的处理的过程中可以具有多种实现方式,例如以串行、并行或串行与并行相结合的方式执行各种处理。在图2所示的实施例中,示出了串行处理的例子;而在图3所示的实施例中,示出了并行处理的例子。在本发明的其他实施例中,可以在对部分处理进行串行执行的同时,并行执行其他处理,从而以串行和并行相结合的方式执行处理。
以下以图2为例详细描述本发明的日志事件处理方法。
在步骤201,向JLog的管理部件120添加附加管理功能,从而当应用程序调用JLog来记录日志事件时,不仅执行管理部件120中已经设置的各个功能,还执行添加到管理部件120中的附加管理功能。在该实施例中,该附加管理功能可以包括根据日志事件是否满足预定的条件而执行根据该预定的条件确定的处理,等等。
例如,JLog的初始设置为:
......
/**定义格式化类的类名*/
formatter.myHandler.className=com.ibm.log.MyFormatter
/**定义日志文件的名称*/
file.myHandler.fileName=myLog.log
/**定义监听类的类名*/
file.myHandler.className=com.ibm.log.MyHandler
/**myHander这个监听者指定一个格式化记录的类*/
file.myHandler.formatterName=formatter.myHandler
/**将myHander这个监听者加入到日志记录者myLogger的触发监听者中*/
dmb.myLogger.listenerNames=file.myHandler
......
在上述设置中,首先前两行代码定义了格式化设置“com.ibm.log.MyFormatter”、日志文件名称“myLog.log”,并为管理功能file.myHandler指定了名称“com.ibm.log.MyHandler”,然后为该管理功能file.myHandler指定一个格式化类,接着将该管理功能file.myHandler加入到可以被使用的管理功能集合中。
通过向上述JLog的配置文件添加如下的代码,从而将附加管理功能IndicationHandler添加到JLog的管理部件120中:
......
/**IndicationHandler这个监听者指定所用的类*/
IndicationHandler.className=com.ibm.log.IndicationHandler
/**将IndicationHander这个监听者加入到日志记录者myLogger的触发监听者中*/
dmb.myLogger.listenerNames=file.myHandler IndicationHandler
其中,在第一行代码中,首先定义附加管理功能IndicationHandler的名称“com.ibm.log.IndicationHandler”,然后,将该附加管理功能IndicationHandler加入到可以被使用的管理功能集合中。
这样,在管理部件120中,既包括以file.myHandler指示的原有的管理功能,又包括新添加的以IndicationHandler指示的附加管理功能。因此,当管理部件120工作时,能够在执行初始设定的管理功能的同时,执行附加管理功能。
应该注意的是,当诸如JLog的日志记录模块进行了升级或更新之后,在其管理部件中可以包括更多功能,例如,上述附加管理功能可以成为包括在更新后的JLog管理部件中的功能。这样,当需要使用上述附加管理功能时,可以直接使用更新后的JLog管理部件中的功能,而不必按照步骤201向JLog的管理部件120添加附加管理功能。
所述附加管理功能可以是对日志记录模块的管理部件已包括的功能的进一步扩展,也可以更新后的日志记录模块的管理部件中的一个功能。
在步骤202,接收通过该附加管理功能从管理部件120传来的日志事件。在该实施例中,所传来的日志事件来自管理部件120,因为管理部件120中可以具有多种管理功能,所以,接收的日志事件可以是未经过管理部件120中的各种管理功能处理的原始日志事件,例如未过滤的包括全部字段的日志事件;也可以是经过管理部件120中一个或多个管理功能处理的日志事件,例如,时间戳字段和日志名称字段被过滤掉的日志事件。
在步骤203,提取日志事件中的字段。
由于在该实施例中采用了以下方式,即:在对日志事件进行处理之前,首先将从日志事件中提取出一个字段,然后确定该字段是否满足预定的条件来执行根据预定的条件确定的处理,此后继续从日志事件中提取未判断的字段,直至所有字段都判断完毕。所以,在确定是否满足预定的条件之前需要从日志事件中提取一个字段。
在步骤204,确定从日志事件中提取的字段是否满足预定的条件。该预定的条件可以是预先设定的,也可以是由用户自定义设定的,即,用户可以对预先设定的条件按自己的需要进行修改、增加、删除等。预定的条件以及根据该预定的条件确定的处理可以保存在配置文件里,通过修改该配置文件可以对该预定的条件和根据预定的条件确定的处理进行改变。该配置文件可以是XML、javascript、纯文本文件等,以下示出了XML文件的例子:
......
<condition key=”MSG_KEY”operator=”OP_EQ”value=”ERROR_CONN_DATABASE”>
</condition>
<action type=”ExecProgram”>
<param id=”url”value=”c:/IBM/Director/bin/run.exe”/>
</action>
......
从上述例子可知,根据MSG_KEY(关键字)=
ERROR_CONN_DATABASE这个预定的条件确定的处理是
ExecProgram(执行程序),其中将要执行的程序是
c:/IBM/Director/bin/run.exe。
可以存在多个处理与预定的条件相关联,当确定日志事件是否满足该预定的条件时,可以串行或并行地执行该多个处理,例如可以在同一线程中串行地执行,或在多个不同线程中并行地执行。另外,多个预定的条件也可以与一个处理相关联,可以当满足多个预定的条件之一或者同时满足该多个预定的条件时执行该处理。例如:
......
<condition key=”MSG_LEVEL”operator=”OP_EQ”value=”FATAL”></condition>
<condition key=”MSG_BODY”operator=”OP_CON”value=”connection”></condition>
<action id=“SendMailActl”type=”SendMail”>
<param id=”mail”value=”zhang_jun_wei@163.com”/>
<param id=”user”value=”zhang”/>
<param id=”password”value=”default”/>
</action>
<action id=“SendMailAct2”type=”SendMail”>
<param id=”mail”value=”jason@163.com”/>
<param id=”user”value=”zhang”/>
<param id=”password”value=”default”/>
</action>
......
根据上述配置文件可知,根据第一条件MSG_LEVEL(日志事件级别)=FATAL、第二条件MSG_BODY(日志事件体)=connection确定的处理有两个:其一是SendMailAct1(发送邮件动作1),即向zhang_jun_wei@163.com发送电子邮件;其二是SendMailAct2(发送邮件动作2),即向j ason@163.com发送电子邮件。可以当日志事件满足上述第一条件和第二条件中的任意一个时,串行或并行执行上述两个处理。另外,也可以当日志事件同时满足第一条件和第二条件时,串行或并行执行上述两个处理。
在该实施例中,如果确定日志事件中的一个字段满足一个预定的条件,例如确定日志事件中的日志事件级别字段等于最高级别1,则进入步骤205,在同一线程中串行地执行根据该预定的条件确定的一个或多个处理;如果不满足,则进入步骤207,确定是否有字段未判断。
在步骤205,执行根据该预定的条件确定的处理。例如,当满足日志事件级别等于1的条件时,根据该条件确定的处理可以是:将该日志事件通过电子邮件发送给用户,并且将日志事件显示在控制台上,等等。因此,在该实施例中,在同一个线程中串行执行以下处理:将该日志事件通过电子邮件发送给用户,将日志事件显示在控制台上,以及根据该条件确定的其他处理。
在步骤206,判断是否还有其他处理需要执行。如果处在步骤205所执行的将该日志事件通过电子邮件发送给用户之外,还需要执行其他处理,则流程再进入步骤205,继续执行处理;如果没有其他处理需要执行,则流程进入步骤207。在该实施例中,由于根据预定的条件确定的处理还包括将日志事件显示在控制台上,因此,从步骤206返回步骤205,执行将日志事件显示在控制台上的处理。
在步骤207,确定是否还有未判断的字段。
如果有未判断的字段,例如日志事件体,则继续进入步骤203,提取日志事件中的日志事件体字段,然后确定该日志事件体是否满足预定的条件(例如,发生异常),当满足该预定的条件时,执行根据该预定的条件确定的处理,例如将日志事件输出到显示屏上并发出警报声音,或者将该日志事件发送到用户的移动设备,例如手机、PDA上,等等。
如果日志事件中的所有字段都已经判断完毕,则流程结束。
图3是按照本发明的另一个实施例的日志事件处理方法的流程图。
在步骤301,存储格式化部件130的原有的格式化设置。因为可以通过设置配置文件来定义格式化部件130的格式化设置,为了使得在进行日志事务处理之后能够恢复原有的格式化设置,所以首先将该原有的格式化设置保存在一个配置文件中。
在步骤302,使用新的格式化设置代替格式化部件130中的原有格式化设置。
例如,JLog的原有格式化设置为
......
formatter.myHandler.className=com.ibm.log.MyFormatter
file.myHandler.fileName=myLog.log
file.myHandler.className=com.ibm.log.MyHandler
file.myHandler.formatterName=formatter.myHandler
dmb.myLogger.listenerNames=file.myHandler
......
通过向上述JLog的配置文件添加以下代码,从而用新的格式化设置IndicationFormatter代替JLog的格式化部件130的原有格式化设置:
......
/**将myLogger这个日志记录者的格式化类改为IndicationFormatter类*/
formatter.myLogger.className=IndicationFormatter
因此,当格式化部件130工作时,按照新的格式化设置执行。为了不影响按照原来的格式化设置进行正常的输出处理,可以将原来的格式化设置保存在配置文件中,例如可以按照串行或并行的方式保存原来的格式化设置。
在步骤303,接收从格式化部件130传来的日志事件。在该实施例中,所传来的日志事件来自格式化部件130,接收的日志事件可以是没有通过经过新的格式化设置进行格式化的日志事件,也可以是经过格式化的日志事件。
在步骤304,获取一个预定的条件。该实施例的流程可以包括:首先从配置文件中获取一个预定的条件,然后确定日志事件是否满足该预定的条件从而执行根据该预定的条件确定的处理,此后继续从配置文件中获取未进行判断的预定的条件,直至所有预定的条件都判断完毕。所以,在每次确定是否满足预定的条件之前都要从配置文件中获取一个预定的条件用于判断。
在该实施例中,获取的预定的条件可以例如是“日志事件级别等于最高级别1”。
在步骤305,确定日志事件是否满足预定的条件。
在该实施例中,对于该日志事件,如果确定满足日志事件级别字段等于最高级别1,则进入步骤306,并执行根据该预定的条件确定的一个或多个处理;如果不满足,则进入步骤307,确定针对该日志事件是否还有预定的条件未判断。
对于包含多个字段的日志事件,可以逐一判断该多个字段,直到确定某一个字段满足预定的条件为止。
在步骤306,在不同线程中并行执行根据预定的条件确定的处理。例如,当满足日志事件级别等于1的条件时,根据该条件确定的处理可以是:将该日志事件通过电子邮件发送给用户,并且将日志事件显示在控制台上,等等。因此,在该实施例中,可以在不同的线程中并行执行以下处理:将该日志事件通过电子邮件发送给用户,将日志事件显示在控制台上,以及根据该条件确定的其他处理。
在步骤307,确定配置文件中是否还有未判断的预定的条件。
如果有未判断的预定的条件,则继续进入步骤304,再次从配置文件中获取一个需要判断的预定的条件(例如该条件是“发生异常”或“到达设定时间”),然后确定该日志事件的日志事件体字段中是否包括“发生异常”。当该日志事件体字段满足该预定的条件时,执行根据该预定的条件确定的处理,例如将日志事件输出到显示屏上并发出警报声音,或者将该日志事件发送到用户的移动设备,例如手机、PDA上,等等。如果日志事件体字段中不包括“发生异常”,则确定该日志事件的时间戳是否“到达设定时间”,当满足该预定的条件时,也执行例如将日志事件输出到显示屏上并发出警报声音,或者将该日志事件发送到用户的移动设备上等处理。
如果日志事件中的所有字段都已经判断完毕,则流程结束。
在本发明的另一个实施例中,还可以接收来自JLog的输出部件140的日志事件。从输出部件140接收的日志事件例如可以是从socket输出后的日志事件。此后,确定所接收的日志事件是否满足预定的条件,并当满足预定的条件时执行根据该预定的条件确定的处理。
在本发明的另一个实施例中,还包括设置预定的条件以及根据该预定的条件确定的处理的步骤。其中,预定的条件和根据该预定的条件确定的处理可以是预先设定的默认设置,一旦设定了条件和处理的默认设置,本发明的方法总是默认判断该预定的条件和执行根据预定的条件确定的处理;另外,预定的条件和根据该预定的条件确定的处理也可以是由用户在需要时自定义设定的临时设置,即,用户可以对预先设定的条件和处理按自己的需要进行修改、增加、删除等。这些处理例如可以是执行某些可执行文件、被调用的类库、或是网络调用等。应该注意,预定的条件以及根据该预定的条件确定的处理可以保存在配置文件里,配置文件例如可以是XML、javascript、纯文本文件等,通过修改该配置文件可以改变该预定的条件和根据该预定的条件确定的处理。
本发明的日志事件处理方法除了可以在现有技术的日志系统的第三方插件中实现之外,也可以通过对现有技术的日志系统的代码进行修改,而直接在现有技术的日志系统中实现。由于一般的日志系统都包括针对日志事件的处理或者管理部件,所以只需要在该处理或者管理部件中将本发明方法的处理流程加入即可。
图4是按照本发明的另一个实施例的日志事件处理设备400的方框图。该设备400包括:接收单元410、确定单元420和执行单元430。设备400还可以包括:设置单元440。
接收单元410用于接收日志事件。接收单元410可以从日志记录模块100的管理部件120、格式化部件130或输出部件140接收日志事件。
确定单元420用于确定该日志事件是否满足预定的条件。确定单元420可以取得日志事件的字段、并判断该字段是否满足预定的条件。另外确定单元420还可以取得预定的条件、并判断日志事件中是否存在字段满足预定的条件。
执行单元430用于执行根据预定的条件确定的处理。执行单元430可以以串行、并行、或串行与并行相结合的方式执行处理。另外,执行单元430还可以当所述日志事件满足多个预定的条件之一时执行所述处理,或者用于当所述日志事件同时满足所述多个预定的条件时执行所述处理。另外,执行单元430还可以执行以下操作之一:向用户发送通知、报警、调用可执行应用。
设置单元440用于设置预定的条件并设置根据预定的条件确定的处理,所设置的预定的条件及根据预定的条件确定的处理可以存储在配置文件中。
图5示意性示出了可以实现根据本发明的实施例的计算设备的结构方框图。
图5中所示的计算机系统包括CPU(中央处理单元)501、RAM(随机存取存储器)502、ROM(只读存储器)503、系统总线504,硬盘控制器505、键盘控制器506、串行接口控制器507、并行接口控制器508、显示器控制器509、硬盘510、键盘511、串行外部设备512、并行外部设备513和显示器514。在这些部件中,与系统总线504相连的有CPU501、RAM502、ROM503、硬盘控制器505、键盘控制器506,串行接口控制器507,并行接口控制器508和显示器控制器509。硬盘510与硬盘控制器505相连,键盘511与键盘控制器506相连,串行外部设备512与串行接口控制器507相连,并行外部设备513与并行接口控制器508相连,以及显示器514与显示器控制器509相连。
图5中每个部件的功能在本技术领域内都是众所周知的,并且图5所示的结构也是常规的。这种结构不仅用于个人计算机,而且用于手持设备,如Palm PC、PDA(个人数据助理)、移动电话等等。在不同的应用中,例如用于实现包含有根据本发明的客户端模块的用户终端或者包含有根据本发明的网络应用服务器的服务器主机时,可以向图5中所示的结构添加某些部件,或者图5中的某些部件可以被省略。图5中所示的整个系统由通常作为软件存储在硬盘510中、或者存储在EPROM或者其它非易失性存储器中的计算机可读指令控制。软件也可从网络(图中未示出)下载。或者存储在硬盘510中,或者从网络下载的软件可被加载到RAM 502中,并由CPU501执行,以便完成由软件确定的功能。
尽管图5中描述的计算机系统能够支持根据本发明的提供网络内容以供脱机使用的方案,但是该计算机系统只是计算机系统的一个例子。本领域的熟练技术人员可以理解,许多其它计算机系统设计也能实现本发明的实施例。
本发明还可以实现为例如由图5所示计算机系统所使用的计算机程序产品,其可以包含有用于实现根据本发明的提供网络内容以供脱机使用的网络应用服务器的代码;其还可以包含有用于实现根据本发明的用于获取网络内容以供脱机使用的客户端模块的代码。在使用之前,可以把代码存储在其它计算机系统的存储器中,例如,存储在硬盘或诸如光盘或软盘的可移动的存储器中,或者经由因特网或其它计算机网络进行下载。
所公开的本发明的方法可以在软件、硬件、或软件和硬件的结合中实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器、个人计算机(PC)或大型机来执行。
本发明还涉及一种计算机程序产品,该计算机程序产品包括用于执行如下的代码:接收日志事件;确定该日志事件是否满足预定的条件;以及当该日志事件满足该预定的条件时,执行根据该预定的条件确定的处理。
这样的计算机程序产品可以存储在存储载体中。
虽然已经参考目前考虑到的实施例描述了本发明,但是应该理解本发明不限于所公开的实施例。相反,本发明旨在涵盖所附权利要求的精神和范围之内所包括的各种修改和等同布置。以下权利要求的范围符合最广泛解释,以便包含所有这样的修改及等同结构和功能。
Claims (19)
1.一种日志事件处理方法,包括步骤:
接收日志事件;
确定所述日志事件是否满足预定的条件;以及
当所述日志事件满足所述预定的条件时,执行根据所述预定的条件确定的处理。
2.如权利要求1所述的方法,其中所述接收日志事件的步骤在对所述日志事件管理、格式化或者输出时执行。
3.如权利要求1所述的方法,其中所述确定日志事件是否满足预定的条件的步骤包括:取得日志事件的字段,并判断所述字段是否满足所述预定的条件。
4.如权利要求1所述的方法,其中所述确定日志事件是否满足预定的条件的步骤包括:取得条件,并判断所述日志事件中是否存在字段满足所述预定的条件。
5.如权利要求1所述的方法,其中所述处理以串行、并行、或串行与并行相结合的方式执行。
6.如权利要求1所述的方法,其中当所述日志事件满足多个所述预定的条件之一时执行根据所述预定的条件确定的处理,或者当所述日志事件同时满足多个所述预定的条件时执行根据所述预定的条件确定的处理。
7.如权利要求1所述的方法,其中所述处理包括以下至少之一:向用户发送通知、报警、调用可执行应用。
8.如权利要求1所述的方法,还包括步骤:
设置所述预定的条件,并设置根据所述预定的条件确定的处理。
9.如权利要求7所述的方法,还包括步骤:
将所述设置的预定的条件和根据所述预定的条件确定的处理存储在配置文件中。
10.如权利要求1所述的方法,其中所述预定的条件以及根据所述预定的条件确定的处理可由用户自定义。
11.如权利要求1所述的方法,其中从日志记录模块接收所述日志事件,所述日志记录模块是JLog。
12.一种日志事件处理设备,包括:
接收单元,操作用于接收日志事件;
确定单元,操作用于确定所述日志事件是否满足预定的条件;以及
执行单元,操作用于当所述日志事件满足所述预定的条件时,执行根据所述预定的条件确定的处理。
13.如权利要求12所述的设备,其中所述接收单元进一步用于在对所述日志事件管理、格式化或者输出时接收所述日志事件。
14.如权利要求12所述的设备,其中所述确定单元进一步用于取得日志事件的字段、并判断所述字段是否满足所述预定的条件。
15.如权利要求12所述的设备,其中所述确定单元进一步用于取得所述预定的条件、并判断所述日志事件中是否存在字段满足所述预定的条件。
16.如权利要求12所述的设备,其中所述执行单元进一步用于以串行、并行、或串行与并行相结合的方式执行所述处理。
17.如权利要求12所述的设备,其中所述执行单元进一步用于当所述日志事件满足多个所述预定的条件之一时执行根据所述预定的条件确定的处理,或者用于当所述日志事件同时满足多个所述预定的条件时执行根据所述预定的条件确定的处理。
18.如权利要求12所述的设备,其中所述执行单元执行以下操作中的任何一个:向用户发送通知、报警、调用可执行应用。
19.如权利要求12所述的设备,还包括:
设置单元,操作用于设置所述预定的条件,并设置根据所述预定的条件确定的处理。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101808966A CN101414255A (zh) | 2007-10-19 | 2007-10-19 | 日志事件处理方法与设备 |
US12/117,808 US8365196B2 (en) | 2007-10-19 | 2008-05-09 | Method and device for log events processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101808966A CN101414255A (zh) | 2007-10-19 | 2007-10-19 | 日志事件处理方法与设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101414255A true CN101414255A (zh) | 2009-04-22 |
Family
ID=40564701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101808966A Pending CN101414255A (zh) | 2007-10-19 | 2007-10-19 | 日志事件处理方法与设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8365196B2 (zh) |
CN (1) | CN101414255A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508778A (zh) * | 2011-11-16 | 2012-06-20 | 山东浪潮齐鲁软件产业股份有限公司 | 一种检测未判断日志输出级别而直接输出日志的方法 |
CN102694693A (zh) * | 2012-06-28 | 2012-09-26 | 上海寰创通信科技股份有限公司 | 一种网管系统的日志记录方法 |
CN103324563A (zh) * | 2012-03-19 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | 查看通信终端的终端事件的方法及其通信终端 |
CN103929321A (zh) * | 2013-01-15 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 一种日志处理方法和装置 |
CN103944761A (zh) * | 2014-04-18 | 2014-07-23 | 深圳芯智汇科技有限公司 | Android日志信息过滤方法及系统 |
CN107832352A (zh) * | 2017-10-23 | 2018-03-23 | 中国银行股份有限公司 | 日志自动处理方法、装置、存储介质及设备 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226477A1 (en) * | 2011-03-04 | 2012-09-06 | International Business Machines Corporation | Reducing Overhead and Increasing Precision with Code Instrumentation |
US8793538B2 (en) | 2012-01-30 | 2014-07-29 | Hewlett-Packard Development Company, L.P. | System error response |
US8996889B2 (en) * | 2013-03-29 | 2015-03-31 | Dropbox, Inc. | Portable computing device with methodologies for client-side analytic data collection |
US9405659B2 (en) | 2014-06-27 | 2016-08-02 | Vmware, Inc. | Measuring the logging quality of a computer program |
JP2016012172A (ja) * | 2014-06-27 | 2016-01-21 | オムロン株式会社 | 通信システム、プログラマブル表示器、情報処理装置、動作制御方法、情報処理方法、およびプログラム |
US9552274B2 (en) * | 2014-06-27 | 2017-01-24 | Vmware, Inc. | Enhancements to logging of a computer program |
CN105335145B (zh) * | 2014-08-06 | 2019-06-25 | 中兴通讯股份有限公司 | 操作结果处理方法、装置及系统 |
FR3025627B1 (fr) * | 2014-09-10 | 2018-03-23 | Bull Sas | Mecanisme haute performance pour generation d'informations de journalisation d'un processus informatique |
US10237295B2 (en) * | 2016-03-22 | 2019-03-19 | Nec Corporation | Automated event ID field analysis on heterogeneous logs |
CN106155864B (zh) * | 2016-07-29 | 2018-10-16 | 北京北信源软件股份有限公司 | 一种扩展Apache Log4j日志输出级别的方法 |
CN108737170A (zh) * | 2018-05-09 | 2018-11-02 | 中国银行股份有限公司 | 一种批量日志异常数据告警方法及装置 |
US10877868B2 (en) | 2018-09-21 | 2020-12-29 | Microsoft Technology Licensing, Llc | Applying a log to storage segments |
CN113704014B (zh) * | 2021-08-24 | 2022-11-01 | 荣耀终端有限公司 | 日志获取系统、方法、电子设备及存储介质 |
US20240070322A1 (en) * | 2022-08-30 | 2024-02-29 | Vmware, Inc. | System and method for anonymizing sensitive information in logs of applications |
CN115840633B (zh) * | 2023-02-21 | 2023-04-21 | 北京极数云舟科技有限公司 | 一种日志并行处理方法、系统、存储介质以及设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3582880A (en) * | 1969-12-05 | 1971-06-01 | Ibm | Data error correction by inversion storage |
US5121475A (en) * | 1988-04-08 | 1992-06-09 | International Business Machines Inc. | Methods of dynamically generating user messages utilizing error log data with a computer system |
US6601188B1 (en) | 1999-10-28 | 2003-07-29 | International Business Machines Corporation | Method and apparatus for external crash analysis in a multitasking operating system |
US6857085B1 (en) | 2000-05-15 | 2005-02-15 | Microsoft Corporation | Method and system for handling an unexpected exception generated by an application |
US6708333B1 (en) | 2000-06-23 | 2004-03-16 | Microsoft Corporation | Method and system for reporting failures of a program module in a corporate environment |
US6996844B2 (en) | 2001-01-31 | 2006-02-07 | International Business Machines Corporation | Switch-user security for UNIX computer systems |
US7243267B2 (en) * | 2002-03-01 | 2007-07-10 | Avaya Technology Llc | Automatic failure detection and recovery of applications |
US6993683B2 (en) * | 2002-05-10 | 2006-01-31 | Microsoft Corporation | Analysis of pipelined networks |
US7062681B2 (en) | 2002-12-03 | 2006-06-13 | Microsoft Corporation | Method and system for generically reporting events occurring within a computer system |
US7380172B2 (en) | 2004-12-31 | 2008-05-27 | Microsoft Corporation | Expert software diagnostic tool |
US20060294214A1 (en) * | 2005-06-23 | 2006-12-28 | Joey Chou | Event logging techniques for broadband wireless access networks |
US20070143338A1 (en) * | 2005-12-21 | 2007-06-21 | Haiqin Wang | Method and system for automatically building intelligent reasoning models based on Bayesian networks using relational databases |
-
2007
- 2007-10-19 CN CNA2007101808966A patent/CN101414255A/zh active Pending
-
2008
- 2008-05-09 US US12/117,808 patent/US8365196B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508778A (zh) * | 2011-11-16 | 2012-06-20 | 山东浪潮齐鲁软件产业股份有限公司 | 一种检测未判断日志输出级别而直接输出日志的方法 |
CN103324563A (zh) * | 2012-03-19 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | 查看通信终端的终端事件的方法及其通信终端 |
CN103324563B (zh) * | 2012-03-19 | 2016-08-24 | 宇龙计算机通信科技(深圳)有限公司 | 查看通信终端的终端事件的方法及其通信终端 |
CN102694693A (zh) * | 2012-06-28 | 2012-09-26 | 上海寰创通信科技股份有限公司 | 一种网管系统的日志记录方法 |
CN102694693B (zh) * | 2012-06-28 | 2016-05-18 | 上海寰创通信科技股份有限公司 | 一种网管系统的日志记录方法 |
CN103929321A (zh) * | 2013-01-15 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 一种日志处理方法和装置 |
CN103944761A (zh) * | 2014-04-18 | 2014-07-23 | 深圳芯智汇科技有限公司 | Android日志信息过滤方法及系统 |
CN103944761B (zh) * | 2014-04-18 | 2018-01-26 | 深圳芯智汇科技有限公司 | Android日志信息过滤方法及系统 |
CN107832352A (zh) * | 2017-10-23 | 2018-03-23 | 中国银行股份有限公司 | 日志自动处理方法、装置、存储介质及设备 |
CN107832352B (zh) * | 2017-10-23 | 2022-01-04 | 中国银行股份有限公司 | 日志自动处理方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20090106594A1 (en) | 2009-04-23 |
US8365196B2 (en) | 2013-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101414255A (zh) | 日志事件处理方法与设备 | |
US8898285B2 (en) | Service oriented architecture version and dependency control | |
KR102317535B1 (ko) | 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템 | |
US7992155B2 (en) | Method and system to correlate and consolidate a plurality of events | |
US20150143355A1 (en) | Service oriented architecture version and dependency control | |
US8769502B2 (en) | Template based asynchrony debugging configuration | |
US9092230B2 (en) | Configuration of componentized software applications | |
US20120109905A1 (en) | Identifying and representing changes between extensible markup language (xml) files | |
US20080262860A1 (en) | System and Method for Supporting Software | |
US9239709B2 (en) | Method and system for an interface certification and design tool | |
US20080082575A1 (en) | Providing attachment-based data input and output | |
US20090164979A1 (en) | System landscape trace | |
US10992559B2 (en) | Diagnostic and recovery signals for disconnected applications in hosted service environment | |
US20140379807A1 (en) | Distributed system management | |
CN109117141B (zh) | 简化编程的方法、装置、电子设备、计算机可读存储介质 | |
CA3123916C (en) | Microapp functionality recommendations with cross-application activity correlation | |
CN111949607B (zh) | 一种udt文件的监控方法、系统和装置 | |
Rattanapoka et al. | An MQTT-based IoT cloud platform with flow design by Node-RED | |
Yao et al. | Building architectures for data‐intensive science using the ADAGE framework | |
US7917904B2 (en) | Automated analysis tasks of complex computer system | |
CN114936245B (zh) | 一种多源异构数据的集成和处理方法及装置 | |
CN114443343A (zh) | 一种服务接口反馈异常信息方法、装置、设备、存储介质 | |
KR20170122874A (ko) | 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치 | |
CN115237399A (zh) | 用于采集数据的方法、存储介质、处理器及工程车辆 | |
CN101520861A (zh) | 数据事件发送方法和装置以及事件处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090422 |