动态日志记录方法及装置与流程

文档序号:12120627阅读:522来源:国知局
动态日志记录方法及装置与流程

本发明涉及计算机技术领域,具体而言,涉及一种动态日志记录方法及装置。



背景技术:

在客户端软件的开发和维护过程中,经常会遇到各种各样的问题,开发人员需要依赖服务器端记录的日志进行软件调试或排查生产环境的问题,服务器端记录的日志通常包括客户端发送的请求参数和服务器向客户端发送的返回结果。

相关技术中通常利用过滤器或拦截器等技术在服务器端记录日志,过滤器或拦截器可以看做服务器内的应用程序,过滤器或拦截器内预先定义有需要记录日志的类名称和方法名称,服务器在接收到客户端发送的业务请求后,根据过滤器或拦截器内预先定义的类名称和方法名称记录对应类和方法的请求参数和返回结果,得到日志。

然而,通过过滤器或者拦截器的方式记录日志时,只能在过滤器或者拦截器的编译期间指定记录某种类和方法的日志,如果需要对某个类和方法新增日志记录功能,需要重新编译过滤器或拦截器,并重启服务器。对于生产环境,重启服务器会对线上功能产生影响,容易破坏现场,不利于问题的复现和排查;对于开发过程,重启服务器将增长软件调试过程,降低软件开发和调试效率。

针对上述提到的对某个类和方法新增日志记录功能时,需要重启服务器,从而影响生产环境、破坏问题现场,并使得软件调试过程变长,降低软件开发和调试效率,尚未提出很好的解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提供一种动态日志记录方法及装置,以解决相关技术中对某个类和方法新增日志记录功能时,需要重启服务器,从而影响生产环境、破坏问题现场,并使得软件调试过程变长,降低软件开发和调试效率的问题。

第一方面,本发明实施例提供了一种动态日志记录方法,所述方法包括:获取日志记录请求,所述日志记录请求包括与日志记录相关的类的标识、所述类的日志记录内容的标识、所述类的日志记录方式的标识;当所述类的日志记录方式为开始记录所述类的日志时,为所述类建立代理类,通过所述代理类按照所述类的日志记录内容记录所述类的日志,其中,所述代理类具有日志记录功能。

结合第一方面,本发明实施例提供了第一方面第一种可能的实施方式,其中,所述为所述类建立代理类包括:采用动态生成类的方式生成所述代理类,所述代理类持有所述类的引用,所述代理类中的方法与所述类中的方法一一对应。

结合第一方面,本发明实施例提供了第一方面第二种可能的实施方式,其中,所述通过所述代理类按照所述类的日志记录内容记录所述类的日志包括:在接收到所述类的业务请求时,确定所述类中执行所述业务请求的方法为第一方法,确定所述代理类中与所述第一方法对应的方法为第二方法;在所述类的日志记录内容包括所述第一方法对应的日志记录内容时,通过所述第二方法调用所述第一方法执行所述业务请求,并通过所述第二方法按照所述第一方法对应的日志记录内容记录所述类的日志,其中,所述第一方法对应的日志记录内容包括所述第一方法在执行所述业务请求时的请求参数和/或执行结果。

结合第一方面,本发明实施例提供了第一方面第三种可能的实施方式,其中,所述方法还包括:当所述类的日志记录方式为暂停记录所述类的日志时,暂停通过所述代理类按照所述类的日志记录内容记录所述类的日志。

结合第一方面上述的实施方式,本发明实施例提供了第一方面第四种可能的实施方式,其中,所述方法还包括:当所述类的日志记录方式为结束记录所述类的日志时,删除所述类的代理类,以结束通过所述代理类记录所述类的日志。

第二方面,本发明实施例提供了一种动态日志记录装置,所述装置包括:获取模块,用于获取日志记录请求,所述日志记录请求包括与日志记录相关的类的标识、所述类的日志记录内容的标识、所述类的日志记录方式的标识;日志记录模块,用于当所述类的日志记录方式为开始记录所述类的日志时,为所述类建立代理类,通过所述代理类按照所述类的日志记录内容记录所述类的日志,其中,所述代理类具有日志记录功能。

结合第二方面,本发明实施例提供了第二方面第一种可能的实施方式,其中,所述日志记录模块包括:生成子模块,用于采用动态生成类的方式生成所述代理类,所述代理类持有所述类的引用,所述代理类中的方法与所述类中的方法一一对应。

结合第二方面,本发明实施例提供了第二方面第二种可能的实施方式,其中,所述日志记录模块包括:确定子模块,用于在接收到所述类的业务请求时,确定所述类中执行所述业务请求的方法为第一方法,确定所述代理类中与所述第一方法对应的方法为第二方法;记录子模块,用于在所述类的日志记录内容包括所述第一方法对应的日志记录内容时,通过所述第二方法调用所述第一方法执行所述业务请求,并通过所述第二方法按照所述第一方法对应的日志记录内容记录所述类的日志,其中,所述第一方法对应的日志记录内容包括所述第一方法在执行所述业务请求时的请求参数和/或执行结果。

结合第二方面,本发明实施例提供了第二方面第三种可能的实施方式,其中,所述装置还包括:暂停日志记录模块,用于当所述类的日志记录方式为暂停记录所述类的日志时,暂停通过所述代理类按照所述类的日志记录内容记录所述类的日志。

结合第二方面上述的实施方式,本发明实施例提供了第二方面第四种可能的实施方式,其中,所述装置还包括:结束日志记录模块,用于当所述类的日志记录方式为结束记录所述类的日志时,删除所述类的代理类,以结束通过所述代理类记录所述类的日志。

本发明实施例中的方法及装置,当需要记录某类的日志时,为该类建立代理类,通过代理类记录该类的日志。由于生成代理类的过程不需要重启服务器,因此通过本发明实施例中的方法及装置在记录某个类的日志时,无需重启服务器,能够实现日志的灵活记录,可在不对生成环境产生任何影响的前提下动态记录指定方法的日志,并可缩短软件调试过程,提高软件开发和调试效率,解决相关技术中对某个类和方法新增日志记录功能时,需要重启服务器,从而影响生产环境、破坏问题现场,并使得软件调试过程变长,降低软件开发和调试效率的问题。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明第一实施例中动态日志记录方法及装置的应用环境示意图;

图2为本发明第一实施例中动态日志记录方法的第一种流程示意图;

图3为本发明第一实施例中动态日志记录方法的第二种流程示意图;

图4为本发明第二实施例中Spring Framework框架、代理类、代理类对应的类之间的依赖关系示意图;

图5为本发明第三实施例中动态日志记录装置的模块组成示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到相关技术中对某个类和方法新增日志记录功能时,需要重启服务器,从而影响生产环境、破坏问题现场,并使得软件调试过程变长,降低软件开发和调试效率的问题,本发明提供了一种动态日志记录方法及装置,下面结合实施例进行具体描述。

为了更加清楚的介绍本发明提供的动态日志记录方法及装置,下面首先介绍本发明提供的动态日志记录方法及装置的应用环境,图1为本发明实施例中动态日志记录方法及装置的应用环境示意图,如图1所示,本发明实施例中的应用环境包括客户端1和服务器2,本实施例中的动态日志记录方法及装置应用在服务器侧。在软件开发过程中,客户端1不断向服务器2发送业务请求,服务器2执行该业务请求,并向客户端1返回执行结果。为了便于软件调试,服务器2会进行日志记录,服务器2记录的日志包括客户端1发送的某个类的某个方法的请求参数(也称入参),和/或,服务器2执行该类的该方法后向客户端1返回的执行结果。其中,客户端1向服务器2发送的业务请求在代码层表现为某个类的某个方法的请求参数。

实施例一

本发明第一实施例提供了一种动态日志记录方法,图2为本发明实施例中动态日志记录方法的第一种流程示意图,该方法由图1中的服务器执行,如图2所示,本发明实施例中的动态日志记录方法包括以下步骤:

步骤S202,获取日志记录请求,该日志记录请求包括与日志记录相关的类的标识、该类的日志记录内容的标识、该类的日志记录方式的标识。

本步骤中,服务器获取日志记录请求,该日志记录请求可以由客户端发送,也可以由开发人员直接输入至服务器。该日志记录请求包括与日志记录相关的类的标识、该类的日志记录内容的标识、该类的日志记录方式的标识,其中,与日志记录相关的类可以为需要记录日志的类、暂停记录日志的类或者结束记录日志的类,该类的日志记录内容的标识用来表示该类需要记录的日志的内容、或者需要暂停记录的日志的内容,这里的内容包括入参和/或返回结果,该类的日志记录方式的标识用来表示该类是需要开始记录日志,还是暂停/结束记录日志,对应地,该类的日志记录方式包括开始记录该类的日志、暂停/结束记录该类的日志。

本实施例中,日志记录请求还可以包括该类的方法的标识,当日志记录请求不包括该类的方法的标识时,表明该类中的所有方法都需要记录日志,当日志记录请求包括该类的方法的标识时,该方法的标识对应的方法需要记录日志,其余的方法不需要记录日志,该种情况下,上述该类的日志记录内容的标识可以指定记录/暂停记录该类中哪个方法的入参和/或返回结果。

本发明实施例提供了日志记录请求的一种具体示例,该日志记录请求为URL(Uniform Resoure Locator,统一资源定位符)格式,比如,http://{domain}//dynamicLogger/config.do?class={class}&method={method}&action={action}&type={type},该URL中,{domain}表示web服务器的域名;{class}表示与日志记录相关的类的标识,该参数为不可缺少的必要参数;{method}表示与日志记录相关的类中的具体方法的标识,当该参数为空时,表示上述类中所有的方法都与日志记录有关,当该参数不为空时,该参数所指定的方法为与日志记录有关的方法,其没有指定的方法与日志记录无关,这里与日志记录相关的方法可以为需要记录日志的方法、暂停记录日志的方法或者结束记录日志的方法;{action}表示类的日志记录方式的标识,取值有add,表示新增日志记录,stop,表示暂停日志记录,delete,表示结束日志记录,{action}的默认取值通常为add;{type}表示类的日志记录内容的标识,取值有param,表示记录该类中需要记录的方法的入参,即客户端传输的请求参数,result,表示记录该类中需要记录的方法的执行结果,既服务器返回给客户端的执行结果,all,表示记录该类中需要记录的方法的入参和执行结果。

步骤S204,当上述类的日志记录方式为开始记录该类的日志时,为该类建立代理类,通过代理类按照该类的日志记录内容记录该类的日志,其中,代理类具有日志记录功能。

由于服务器在获取到日志记录请求后才知道需要记录哪个类哪个方法的日志,以及需要记录什么内容,因此为了实现灵活的日志记录功能,本实施例中通过代理类的方式记录日志。当日志记录请求中表明日志记录方式为开始记录该类的日志时,服务器为该类建立代理类,该类就是步骤S202中的与日志记录相关的类,服务器通过代理类按照该类的日志记录内容记录该类的日志。

服务器为该类建立代理类的具体过称为:服务器采用动态生成类的方式生成代理类,代理类持有该类的引用,代理类中的方法与该类中的方法一一对应。举例而言,服务器为类A建立代理类,类A包括A1、A2、A3三个方法,则服务器采用动态生成类的方式生成代理类B,代理类B持有类A的引用,代理类B中的方法为B1、B2、B3,依次与A1、A2、A3相对应。

本实施例中,当某类需要记录日志时,为该类建立代理类,代理类的作用包括两个方面,第一方面是记录该类的日志,另一方面是调用该类执行业务请求。

服务器在为该类建立代理类之后,还通过代理类按照该类的日志记录内容记录该类的日志,其具体过程为:

(1)在接收到该类的业务请求时,确定该类中执行业务请求的方法为第一方法,确定代理类中与第一方法对应的方法为第二方法;

(2)在该类的日志记录内容包括第一方法对应的日志记录内容时,通过第二方法调用第一方法执行业务请求,并通过第二方法按照第一方法对应的日志记录内容记录该类的日志,其中,第一方法对应的日志记录内容包括第一方法在执行业务请求时的请求参数和/或执行结果。

具体地,服务器在接收到该类的业务请求时,确定该类中执行业务请求的方法为第一方法,确定代理类中与第一方法对应的方法为第二方法,服务器判断该类的日志记录内容是否包括第一方法对应的日志记录内容,也即在记录该类的日志时是否记录第一方法对应的日志,如果是,则服务器通过第二方法调用第一方法执行业务请求,第一方法执行业务请求的返回结果通过第二方法返回给客户端,服务器还通过第二方法记录第一方法对应的日志内容,其中,第一方法对应的日志内容包括第一方法在执行业务请求时客户端发送的请求参数,和/或,第一方法执行业务请求的执行结果。

本发明实施例中的方法,当需要记录某类的日志时,为该类建立代理类,通过代理类记录该类的日志。由于生成代理类的过程不需要重启服务器,因此通过本发明实施例中的方法在记录某个类的日志时,无需重启服务器,能够实现日志的灵活记录,可在不对生成环境产生任何影响的前提下动态记录指定方法的日志,并可缩短软件调试过程,提高软件开发和调试效率,解决相关技术中对某个类和方法新增日志记录功能时,需要重启服务器,从而影响生产环境、破坏问题现场,并使得软件调试过程变长,降低软件开发和调试效率的问题。

图3为本发明实施例中动态日志记录方法的第二种流程示意图,如图3所示,本实施例中的方法还包括以下步骤:

步骤S206,当上述类的日志记录方式为暂停记录该类的日志时,暂停通过代理类按照该类的日志记录内容记录该类的日志。

具体地,当日志记录请求中的日志记录方式为暂停记录该类的日志时,说明该类之前建立过代理类,并通过代理类记录过日志,则服务器暂停通过代理类按照该类的日志记录内容记录该类的日志。

一种实施方式中,日志记录请求不包括该类中具体方法的标识,日志记录方式为暂停记录该类的日志,则服务器暂停通过代理类记录该类的所有方法的日志,另一种实施方式中,日志记录请求包括该类中具体方法的标识,日志记录方式为暂停记录该类的日志,则服务器暂停通过代理类记录该方法的日志,暂停的内容与日志记录请求中的日志记录内容一致。

步骤S208,当上述类的日志记录方式为结束记录该类的日志时,删除该类的代理类,以结束通过代理类记录该类的日志。

具体地,当日志记录请求中的日志记录方式为结束记录该类的日志时,说明该类之前建立过代理类,并通过代理类记录过日志,则服务器删除该类的代理类,以结束通过代理类记录该类的日志。

通过本发明实施例中的方法,不仅能够开始记录某个类某个方法的日志,还能够暂停记录某个类某个方法的日志,或者结束记录某个类的日志,因此能够实现日志的灵活记录,满足软件调试过程中遇到的各种情况。

通过本发明实施例中的方法,动态的指定需要记录日志的类和方法,无需重启服务器,可以直接记录日志。对于开发过程,避免了编译、部署、重启服务器的过程,缩短了调试流程,可以很好的提高程序开发和调试的效率。对于生产环境而言,可以在不重启服务器的情况,启动、暂停或结束记录日志,一方面不会影响线上功能,另一方面也可以保护好问题发生时的现场,有利于问题的复现和排查,最后,本实施例中的方法无需一开始就记录过多的日志,可以根据需要动态的启动、暂停或结束记录日志,在一定程度上提高了系统性能。本实施例中的方法对服务器的原始系统和功能没有侵入性,对服务器性能不产生任何影响。

实施例二

为了更清楚的说明实施例一中的方法,本发明第二实施例给出了一种具体的实施过程,该实施过程基于Spring Framework框架实现,本实施方式中,预先编写有日志记录插件,该日志记录插件具有接收日志记录请求、建立代理类、开始记录日志、暂停记录日志或者结束记录日志的功能,将该日志记录插件植入Spring Framework框架,就能够在服务器端进行灵活的日志记录。

该日志记录插件具有以下功能模块:

(1)LogRequest日志请求模块,用于接收日志记录请求,日志记录请求可以为前述的URL形式;

(2)LogRequestCache缓存模块,用于缓存各个需要记录日志的类与各自的代理类之间的映射关系,通过LogRequestCache缓存模块存储已经生成过的代理类,能够提高服务器系统的性能,对于已经生成过代理类的类,无需重新生成,并且方便后续对于动态日志的取消;

(3)CustomClassLoaderManager日志记录模块,用于判断日志记录请求中的日志记录方式,当日记记录方式为开始记录类的日志时,若LogRequestCache中已经包含代理类,则直接调用该代理类进行日志记录,若LogRequestCache中不包含代理类,则为需要记录日志的类生成代理类,并配置Spring Framework框架、该代理类、该类之间的代理关系;当日记记录方式为暂停记录类的日志时,取消该被暂停的类的代理类的日志记录流程;当日志记录方式为结束记录类的日志时,删除该被结束的类的代理类,并重置Spring Framework框架和该类之间的关系;

(4)CustomClassLoader自定义加载模块,当需要生成动态代理类时,该CustomClassLoader自定义加载模块调用JavassistHelper类,修改原类的字节码工程,生成一个新的字节码类,然后将生成的代理类加载到JVM当中,当要删除动态代理类时,也由该模块来销毁代理类;

(5)DynamicLoggerProxy动态日志代理模块,该模块由JavassistHelper动态生成,该模块直接继承自需要记录日志的类,其方法与被继承类中的方法一一对应,其作用是负责对应的方法的调用;

(6)LogMethodCreator日志方法生成模块,该模块是DynamicLoggerProxy动态日志代理模块中方法的生成器,用于生成具体的代理方法,根据日志记录请求记录不同的日志,代理类中的各个方法还需要调用对应的类中的方法执行业务请求。

图4为本发明实施例中Spring Framework框架、代理类、代理类对应的类(与日志记录相关的类,亦称为业务类)之间的依赖关系示意图,如图4所示,对于客户端发送的业务请求,Spring Framework框架将该业务请求发送至代理类,代理类调用对应的业务类执行该业务请求,业务类将执行结果返回给代理类,再由代理类将执行结果通过Spring Framework框架返回给客户端。

下面介绍上述日志记录插件植入Spring Framework框架的过程。

(1)引入Jar包:如果要使用日志记录插件,必须引入日志记录插件的jar(spring-dynamic-log-1.0.0.jar)包,该jar包包含了日志记录插件的全部实现源码;

(2)引入配置文件:1.1步骤(1)中引入的jar包中包含了spring-dynimic-log-config.xml配置文件,需要在Spring的配置文件(applicationContext.xml)中引入该配置文件,形式如下:

<import resource="spring-dynimic-log-config.xml"/>;

(3)配置入口:1.1该入口的作用是为了动态的指定需要记录日志的类和方法。本实施例中日志记录插件提供一种默认的实现方式,可以通过配置servlet来实现。其形式如下:

(4)指定日志记录请求该日志记录请求为URL(Uniform Resoure Locator,统一资源定位符)格式,比如,http://{domain}//dynamicLogger/config.do?class={class}&method={method}&action={action}&type={type},该URL中,

{domain}表示web服务器的域名;

{class}表示与日志记录相关的类的标识,该参数为不可缺少的必要参数;

{method}表示与日志记录相关的类中的具体方法的标识,当该参数为空时,表示上述类中所有的方法都与日志记录有关,当该参数不为空时,该参数所指定的方法为与日志记录有关的方法,其没有指定的方法与日志记录无关,这里与日志记录相关的方法可以为需要记录日志的方法、暂停记录日志的方法或者结束记录日志的方法;

{action}表示类的日志记录方式的标识,取值有add,表示新增日志记录,stop,表示暂停日志记录,delete,表示结束日志记录,{action}的默认取值通常为add;

{type}表示类的日志记录内容的标识,取值有param,表示记录该类中需要记录的方法的入参,即客户端传输的请求参数,result,表示记录该类中需要记录的方法的执行结果,既服务器返回给客户端的执行结果,all,表示记录该类中需要记录的方法的入参和执行结果。

通过本发明实施例中的日志记录插件,动态的指定需要记录日志的类和方法,无需重启服务器,可以直接记录日志。对于开发过程,避免了编译、部署、重启服务器的过程,缩短了调试流程,可以很好的提高程序开发和调试的效率。对于生产环境而言,可以在不重启服务器的情况,启动、暂停或结束记录日志,一方面不会影响线上功能,另一方面也可以保护好问题发生时的现场,有利于问题的复现和排查,最后,本实施例中的日志记录插件无需一开始就记录过多的日志,可以根据需要动态的启动、暂停或结束记录日志,在一定程度上提高了系统性能。本实施例中的日志记录插件对服务器的原始系统和功能没有侵入性,对服务器性能不产生任何影响。

实施例三

与实施例一中的方法对应,本发明第三实施例提供了一种动态日志记录装置,该装置应用与服务器端,图5为本发明第三实施例中动态日志记录装置的模块组成示意图,如图5所示,该装置包括:

获取模块51,用于获取日志记录请求,所述日志记录请求包括与日志记录相关的类的标识、所述类的日志记录内容的标识、所述类的日志记录方式的标识;

日志记录模块52,用于当所述类的日志记录方式为开始记录所述类的日志时,为所述类建立代理类,通过所述代理类按照所述类的日志记录内容记录所述类的日志,其中,所述代理类具有日志记录功能。

其中,日志记录模块52包括:

生成子模块,用于采用动态生成类的方式生成所述代理类,所述代理类持有所述类的引用,所述代理类中的方法与所述类中的方法一一对应。

其中,日志记录模块52包括:

确定子模块,用于在接收到所述类的业务请求时,确定所述类中执行所述业务请求的方法为第一方法,确定所述代理类中与所述第一方法对应的方法为第二方法;

记录子模块,用于在所述类的日志记录内容包括所述第一方法对应的日志记录内容时,通过所述第二方法调用所述第一方法执行所述业务请求,并通过所述第二方法按照所述第一方法对应的日志记录内容记录所述类的日志,其中,所述第一方法对应的日志记录内容包括所述第一方法在执行所述业务请求时的请求参数和/或执行结果。

本发明实施例中的装置,当需要记录某类的日志时,为该类建立代理类,通过代理类记录该类的日志。由于生成代理类的过程不需要重启服务器,因此通过本发明实施例中的装置在记录某个类的日志时,无需重启服务器,能够实现日志的灵活记录,可在不对生成环境产生任何影响的前提下动态记录指定方法的日志,并可缩短软件调试过程,提高软件开发和调试效率,解决相关技术中对某个类和方法新增日志记录功能时,需要重启服务器,从而影响生产环境、破坏问题现场,并使得软件调试过程变长,降低软件开发和调试效率的问题。

如图5所示,本发明实施例中的装置还包括:

暂停日志记录模块53,用于当所述类的日志记录方式为暂停记录所述类的日志时,暂停通过所述代理类按照所述类的日志记录内容记录所述类的日志。

结束日志记录模块54,用于当所述类的日志记录方式为结束记录所述类的日志时,删除所述类的代理类,以结束通过所述代理类记录所述类的日志。

通过本发明实施例中的装置,不仅能够开始记录某个类某个方法的日志,还能够暂停记录某个类某个方法的日志,或者结束记录某个类的日志,因此能够实现日志的灵活记录,满足软件调试过程中遇到的各种情况。

通过本发明实施例中的装置,动态的指定需要记录日志的类和方法,无需重启服务器,可以直接记录日志。对于开发过程,避免了编译、部署、重启服务器的过程,缩短了调试流程,可以很好的提高程序开发和调试的效率。对于生产环境而言,可以在不重启服务器的情况,新增或结束动态日志,一方面不会影响线上功能,另一方面也可以保护好问题发生时的现场,有利于问题的复现和排查,最后,本实施例中的装置无需一开始就记录过多的日志,可以根据需要动态的新增或结束日志,在一定程度上提高了系统性能。本实施例中的装置对服务器的原始系统和功能没有侵入性,对服务器性能不产生任何影响。

本发明实施例所提供的动态日志记录装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1