CN102650938A - 日志系统管理方法及日志系统 - Google Patents
日志系统管理方法及日志系统 Download PDFInfo
- Publication number
- CN102650938A CN102650938A CN2011100481968A CN201110048196A CN102650938A CN 102650938 A CN102650938 A CN 102650938A CN 2011100481968 A CN2011100481968 A CN 2011100481968A CN 201110048196 A CN201110048196 A CN 201110048196A CN 102650938 A CN102650938 A CN 102650938A
- Authority
- CN
- China
- Prior art keywords
- daily record
- record object
- log
- log system
- global variable
- 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.)
- Granted
Links
Images
Abstract
本发明涉及一种日志系统管理方法及日志系统,其中方法包括:在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象;获取对所述日志对象进行的与所述调用操作相对应的操作请求;在确定所述操作请求高于预设的有效级别后,创建与所述日志对象相对应的日志事件;将所述日志事件添加到与所述日志对象相关的输出端。本发明实施例提供日志系统管理方法及日志系统,实现了日志用户无需修改代码或者配置文件就可以获取到与指定名称的日志对象相对应的日志事件,因此提高了日志系统的扩展性和可操作性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种日志系统管理方法及日志系统。
背景技术
在软件开发领域,日志是用来监控和记录代码中变量变化、跟踪代码运行的轨迹、在开发环境中担当调试器的作用,用于向控制台或文件输出信息。在大型软件程序中,由于无法对程序进行调试,必须通过日志记录信息分析和评价程序的运行状态,进一步通过分析日志记录信息找出程序运行中的问题所在。
现有技术中的日志组件,从实现角度可以分为日志功能系统和日志抽象框架系统两大类;其中,日志功能系统(例如:JDK Log、log4j)提供了独立、完整的日志记录功能,日志抽象框架(例如:common-logging、slf4j)通过提取日志功能系统的抽象实现,对外提供支持主流的日志功能系统的公共接口,实现对大部分的日志功能系统进行统一的操作和管理。
日志功能系统虽然功能强大、速度快、使用简单,但是扩展性较差,并且功能单一,无法适应软件系统不断更新的发展趋势,而日志抽象框架由于结构比较复杂,用户操作起来比较繁琐。
发明内容
本发明的目的在于提供一种日志系统管理方法及日志系统,提高日志系统的可扩展性和可操作性。
本发明实施例提供一种日志系统管理方法,包括:
在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象,所述指定名称的日志对象在所述接口层已被进行统一的调用操作;
获取对所述日志对象进行的与所述调用操作相对应的操作请求;
在确定所述操作请求高于预设的有效级别后,创建与所述日志对象相对应的日志事件;
将所述日志事件添加到与所述日志对象相关的输出端。
本发明实施例提供一种日志系统,该日志系统能够实现上述技术方案的日志系统管理方法,其中,该系统包括:
调用模块,用于在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象,所述指定名称的日志对象在所述接口层已被进行统一的调用操作;
获取模块,用于获取对所述日志对象进行的与所述调用操作相对应的操作请求;
创建模块,用于在确定所述操作请求高于预设的有效级别后,创建与所述日志对象相对应的日志事件;
添加模块,用于将所述日志事件添加到与所述日志对象相关的输出端。
本发明提供的日志系统管理方法及日志系统,由于日志对象在接口层已被进行统一的调用操作,当底层实现层的日志对象发生变化时,通过获取与调用操作相对应的操作请求,使得接口层中的日志用户端的代码和配置文件不会受到影响,实现了日志用户无需修改代码或者配置文件就可以获取到与指定名称的日志对象相对应的日志事件,因此提高了日志系统的扩展性和可操作性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明日志系统管理方法一个实施例的流程示意图;
图2为本发明日志系统管理方法又一个实施例的流程示意图;
图3为本发明日志系统一个实施例的结构示意图;
图4为本发明日志系统又一个实施例的结构示意图;
图5为本发明所适用的日志系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明日志系统管理方法一个实施例的流程示意图,如图1所示,本实施例包括如下步骤:
步骤101、在日志系统的接口层调用该日志系统的底层实现层中的指定名称的日志对象,其中,该指定名称的日志对象在接口层已被进行统一的调用操作;
步骤102、获取对该日志对象进行的与该操作请求相对应的操作请求;
步骤103、在确定该操作请求高于预设的有效级别后,创建与该日志对象相对应的日志事件;
步骤104、将该日志事件添加到与该日志对象相关的输出端。
本发明实施例提供的日志系统管理方法,由于日志对象在接口层已被进行统一的调用操作,当底层实现层的日志对象发生变化时,通过获取与调用操作相对应的操作请求,使得接口层中的日志用户端的代码和配置文件不会受到影响,实现了日志用户无需修改代码或者配置文件就可以获取到与指定名称的日志对象相对应的日志事件,因此提高了日志系统的扩展性和可操作性。
图2为本发明日志系统管理方法又一个实施例的流程示意图;如图2所示,本发明实施例包括:
步骤201、在日志系统的接口层调用该日志系统的底层实现层中的指定名称的日志对象,其中,该指定名称的日志对象在该接口层已被进行统一的调用操作;
其中,可以在日志系统的接口层调用指定名称的日志对象;根据该日志对象的名称在该日志系统的底层实现层中的日志堆栈中获取该日志对象;日志系统的接口层提供统一的调用操作具体可以通过设置在接口层的接口方法实现,该接口方法例如可以为:针对不同级别(该不同级别可以为编译、信息、警告、错误)采用的操作方法;通过在接口层对指定名称的日志对象进行统一的调用操作,使得底层实现层中的日志对象均可以实现该调用操作,因此当日志系统的底层实现层发生变化时,不会影响到接口层的日志用户端的代码和配置文件。
步骤202、获取对该日志对象进行的与该调用操作相对应的操作请求;
其中,通过调用接口层的日志工厂(LoggerFactory)类中的获取日志函数(getlogger)所对应的方法;日志工厂类通过静态日志绑定(StaticLoggerBinder)类绑定一个具体的实现类(该实现类例如可以为ILoggerFactory),并返回实现类(ILoggerFactory)相对应的子实现类(该子实现类例如可以为LoggerContext);日志上下文(LoggerContext)类中有个日志哈希(loggerCache)表用于存放具体的日志(Logger)对象,因此通过日志函数所对应的方法(getLogger())函数可以从日志哈希(loggerCache)中获取到指定名称的日志(Logger)对象。
步骤203、在接口层确定是否需要放弃该操作请求;
其中,对日志对象进行操作请求后,可以通过对该操作请求进行条件对比或者进行筛选,确定是否需要放弃该操作请求;例如:可以通过调用获取条件过滤链函数(getTurboFilterChainDecision())判断是否抛弃该操作请求,若返回拒绝(FilterReply.DENY),则抛弃请求,若返回接受(FilterReply.ACCEPT),则通过核对有效级别函数(checkeffectiveLevel)判断该操作请求的级别是否达到预设的有效级别。
步骤204、若不需要抛弃该操作请求,则在该日志系统的绑定层判断该操作请求的级别是否高于预设的有效级别;
其中,可以将日志系统中的预设的有效级别与该操作请求的级别进行对比,根据对比的关系确定该操作请求的级别是否高于预设的有效级别;本发明实施例所述的有效级别,具体可以分为:跟踪(Trace)、信息(Infor)、编译(Debug)、警告(Warn)、错误(Error)五个级别,每一个级别会对应一个调用操作。
步骤205、若该操作请求高于预设的有效级别,创建与该日志对象相对应的日志事件;
此外,若该操作请求低于该有效级别,则可以抛弃该操作请求。
步骤206、将该日志事件添加到与该日志对象相关的输出端;
其中,可以将与该日志事件相对应的日志信息进行格式化,将格式化后的日志信息以日志事件的格式发送到与该日志对象相关的输出端;此外,本发明实施例所述的与调用操作相关的输出端具体可以包括控制台输出端和文件输出端,本发明实施例对于该两种输出端的具体实现不做限制。
本发明实施例提供的日志系统管理方法,由于日志对象在接口层已被进行统一的调用操作,当底层实现层的日志对象发生变化时,通过获取与调用操作相对应的操作请求,使得接口层中的日志用户端的代码和配置文件不会受到影响,实现了日志用户无需修改代码或者配置文件就可以获取到与指定名称的日志对象相对应的日志事件,因此提高了日志系统的扩展性和可操作性。
进一步地,在上述图1和图2所示实施例中,当该日志系统运行该日志对象时,本发明实施例还可以包括:
若通过线程对该日志对象的全局变量进行操作,则在全局哈希容器中查找是否存在所述全局变量;若存在该全局变量,则在与所述全局变量对应的子哈希容器中查找是否存在与所述线程的线程名称相同的键值;若存在,则将所述日志对象的运行结果替换所述键值;若不存在,则创建一个与所述日志对象的运行结果相对应的键值对;通过对不同的线程的相同的操作赋予不同的键值,可以很方便地实现通过统一的配置文件在日志信息输出过程中根据不同的线程操作输出不同的内容和信息,从而极大地丰富和提高了日志系统的功能。
进一步地,在上述图1和图2所示实施例中,在所述日志对象运行时,所述方法还包括:
若所述全局哈希容器中不存在所述全局变量,则在所述全局哈希容器中添加所述全局变量;
为所述全局变量添加一个子哈希容器;
将所述线程的线程名称和操作结果作为新的哈希键值对添加到所述子哈希容器中。
通过对不同的线程的相同的操作赋予不同的全局变量,可以很方便地实现通过统一的配置文件在日志信息输出过程中根据不同的线程操作输出不同的日志内容,因此极大地丰富和提高了日志系统的功能。
在该日志系统运行该日志对象时,为了更清楚的理解本发明实施例所述的技术方案,下面举例说明:若存在全局变量Var,该日志系统中的所有的日志对象都可以对该全局变量Var进行操作,对每个线程相对应的该全局变量Var进行标记,因此在输出全局变量Var时就可以自动根据操作该全局变量Var的线程来输出相对应的键值;操作该全局变量的过程如下:首先在哈希容器里查找有没有该全局变量Var;若没有该全局变量Var,则创建该全局变量Var,若有该全局变量Var,则查找与该全局变量Var相对应的子哈希表;若该全局变量Var不存在子哈希表,则为该全局变量Var创建一个子哈希表,并将操作该全局变量Var的线程名赋给第一个哈希表的键值,该全局变量Var的值赋给该全局变量Var的键值;若存在子哈希表,则继续查找子哈希表中是否存在操作该日志对象的线程名,若不存在子哈希表,则创建并将操作该全局变量Var的值赋给该全局变量Var。
图3为本发明日志系统一个实施例的结构示意图,本发明实施例可以实现上述图1和图2所示实施例的方法流程;如图3所示,本发明实施例包括:调用模块31、获取模块32、创建模块33、添加模块34;
其中,调用模块31在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象,所述指定名称的日志对象在所述接口层已被进行统一的调用操作;获取模块32获取对所述日志对象进行的与所述调用操作相对应的操作请求;创建模块33在确定所述操作请求高于预设的有效级别后,创建与所述日志对象相对应的日志事件;添加模块34将所述日志事件添加到与所述日志对象相关的输出端。
本发明实施例提供的日志系统,由于日志对象在接口层已被进行统一的调用操作,当底层实现层的日志对象发生变化时,通过获取模块32获取与调用操作相对应的操作请求,添加模块34将该日志事件添加到与该日志对象相关的输出端,从而使得接口层中的日志用户端的代码和配置文件不会受到影响,实现了日志用户无需修改代码或者配置文件就可以获取到与指定名称的日志对象相对应的日志事件,因此提高了日志系统的扩展性和可操作性。
图4为本发明日志系统又一个实施例的结构示意图,本发明实施例可以实现上述图1和图2所示实施例的方法流程;如图4所示,本发明实施例包括:调用模块41、获取模块42、创建模块43、添加模块44;
其中,调用模块41在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象,所述指定名称的日志对象在所述接口层已被进行统一的调用操作;获取模块42获取对所述日志对象进行的与所述调用操作相对应的操作请求;创建模块43在确定所述操作请求高于预设的有效级别后,创建与所述日志对象相对应的日志事件;添加模块44将所述日志事件添加到与所述日志对象相关的输出端。
进一步地,调用模块41还可以包括:调用单元411、第一获取单元412;其中,调用单元411在日志系统的接口层调用指定名称的日志对象;第一获取单元412根据所述日志对象的名称在所述日志系统的底层实现层中的日志堆栈中获取该日志对象。
进一步地,获取模块42还可以包括:确定单元421、判断单元422、第二获取单元423;其中,确定单元421在所述接口层确定是否需要放弃所述操作请求;若不需要抛弃所述操作请求,则判断单元422在所述日志系统的绑定层判断所述操作请求的级别是否高于预设的有效级别;在确定所述操作请求高于预设的有效级别后,第二获取单元423获取对所述日志对象进行的与所述调用操作相对应的操作请求。
本发明实施例提供的日志系统,由于日志对象在接口层已被进行统一的调用操作,当底层实现层的日志对象发生变化时,通过获取模块42获取与调用操作相对应的操作请求,添加模块44将该日志事件添加到与该日志对象相关的输出端,从而使得接口层中的日志用户端的代码和配置文件不会受到影响,实现了日志用户无需修改代码或者配置文件就可以获取到与指定名称的日志对象相对应的日志事件,因此提高了日志系统的扩展性和可操作性。
进一步地,在所述日志系统运行所述日志对象时,在上述图3和图4所示实施例还可以包括:第一查找模块、第二查找模块、创建模块;其中,若通过线程对所述日志对象的全局变量进行操作,则第一查找模块在全局哈希容器中查找是否存在所述全局变量;若存在全局变量,则第二查找模块在与所述全局变量对应的子哈希容器中查找是否存在与所述线程的线程名称相同的键值;若存在与所述线程的线程名称相同的键值,则创建模块将所述日志对象的运行结果替换所述键值;若不存在,则创建模块创建一个与所述日志对象的运行结果相对应的键值对。
进一步地,在所述日志对象运行时,在上述图3和图4所示实施例还可以包括:第二添加模块、第三添加模块、第四添加模块;其中,若所述全局哈希容器中不存在所述全局变量,则第二添加模块在所述全局哈希容器中添加所述全局变量;第三添加模块为所述全局变量添加一个子哈希容器;第四添加模块将所述线程的线程名称和操作结果作为新的哈希键值对添加到所述子哈希容器中。
图5为本发明所适用的日志系统的结构示意图,如图5所示,本发明实施例分别为:接口层51、绑定层52、底层实现层53;其中,接口层51是暴露给用户调用的操作层,在接口层51统一了日志对象操作的方法,用以实现底层实现层53的透明化;在绑定层52可以将接口层51中的日志对象与底层实现层53中的日志对象进行绑定,具体地,可以采用动态绑定和静态绑定相结合的方式,例如:可以在默认情况下或者是动态绑定失败时,采用静态绑定,可以在系统路径下有新的日志实现类并且动态加载成功,通过采用动态绑定,使得动态绑定和静态绑定相结合,从而实现了智能绑定;当对该日志系统的底层实现层53中的功能模块进行修改或者替换后,日志用户可以无需修改任何代码或者配置文件就可以软件系统的升级和迁移,使得本发明实施例中的日志系统和使用本发明实施例中的日志系统的软件系统具有极高的扩展性和可移植性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解:实现上述实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种日志系统管理方法,其特征在于,包括:
在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象,所述指定名称的日志对象在所述接口层已被进行统一的调用操作;
获取对所述日志对象进行的与所述调用操作相对应的操作请求;
在确定所述操作请求高于预设的有效级别后,创建与所述日志对象相对应的日志事件;
将所述日志事件添加到与所述日志对象相关的输出端。
2.根据权利要求1所述的方法,其特征在于,所述在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象包括:
在日志系统的接口层调用指定名称的日志对象;
根据所述日志对象的名称在所述日志系统的底层实现层中的日志堆栈中获取该日志对象。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述接口层确定是否需要放弃所述操作请求;
若不需要抛弃所述操作请求,则在所述日志系统的绑定层判断所述操作请求的级别是否高于预设的有效级别。
4.根据权利要求1~3任一所述的方法,其特征在于,在所述日志系统运行所述日志对象时,所述方法还包括:
若通过线程对所述日志对象的全局变量进行操作,则在全局哈希容器中查找是否存在所述全局变量;
若存在与所述存在所述全局变量,则在与所述全局变量对应的子哈希容器中查找是否存在与所述线程的线程名称相同的键值;
若存在与所述线程的线程名称相同的键值,则将所述日志对象的运行结果替换所述键值;若不存在,则创建一个与所述日志对象的运行结果相对应的键值对。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述全局哈希容器中不存在所述全局变量,则在所述全局哈希容器中添加所述全局变量;
为所述全局变量添加一个子哈希容器;
将所述线程的线程名称和操作结果作为新的哈希键值对添加到所述子哈希容器中。
6.一种能够实现权利要求1~5任一所述方法的日志系统,其特征在于,包括:
调用模块,用于在日志系统的接口层调用所述日志系统的底层实现层中的指定名称的日志对象,所述指定名称的日志对象在所述接口层已被进行统一的调用操作;
获取模块,用于获取对所述日志对象进行的与所述调用操作相对应的操作请求;
创建模块,用于在确定所述操作请求高于预设的有效级别后,创建与所述日志对象相对应的日志事件;
添加模块,用于将所述日志事件添加到与所述日志对象相关的输出端。
7.根据权利要求6所述的系统,其特征在于,所述调用模块包括:
调用单元,用于在日志系统的接口层调用指定名称的日志对象;
第一获取单元,用于根据所述日志对象的名称在所述日志系统的底层实现层中的日志堆栈中获取该日志对象。
8.根据权利要求6所述的系统,其特征在于,所述获取模块包括:
确定单元,用于在所述接口层确定是否需要放弃所述操作请求;
判断单元,用于若不需要抛弃所述操作请求,则在所述日志系统的绑定层判断所述操作请求的级别是否高于预设的有效级别;
第二获取单元,用于在确定所述操作请求高于预设的有效级别后,获取对所述日志对象进行的与所述调用操作相对应的操作请求。
9.根据权利要求6~8任一所述的系统,其特征在于,在所述日志系统运行所述日志对象时,所述系统还包括:
第一查找模块,用于若通过线程对所述日志对象的全局变量进行操作,则在全局哈希容器中查找是否存在所述全局变量;
第二查找模块,用于若存在所述全局变量,则在与所述全局变量对应的子哈希容器中查找是否存在与所述线程的线程名称相同的键值;
创建模块,用于若存在与所述线程的线程名称相同的键值,则将所述日志对象的运行结果替换所述键值;若不存在,则创建一个与所述日志对象的运行结果相对应的键值对。
10.根据权利要求9所述的系统,其特征在于,在所述日志对象运行时,所述系统还包括:
第二添加模块,用于若所述全局哈希容器中不存在所述全局变量,则在所述全局哈希容器中添加所述全局变量;
第三添加模块,用于为所述全局变量添加一个子哈希容器;
第四添加模块,用于将所述线程的线程名称和操作结果作为新的哈希键值对添加到所述子哈希容器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110048196.8A CN102650938B (zh) | 2011-02-28 | 2011-02-28 | 日志系统管理方法及日志系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110048196.8A CN102650938B (zh) | 2011-02-28 | 2011-02-28 | 日志系统管理方法及日志系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102650938A true CN102650938A (zh) | 2012-08-29 |
CN102650938B CN102650938B (zh) | 2015-02-18 |
Family
ID=46692947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110048196.8A Expired - Fee Related CN102650938B (zh) | 2011-02-28 | 2011-02-28 | 日志系统管理方法及日志系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102650938B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152391A (zh) * | 2013-01-31 | 2013-06-12 | 杭州华三通信技术有限公司 | 一种日志输出方法和装置 |
CN105183621A (zh) * | 2015-08-17 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于多线程的日志管理方法及系统 |
CN105373466A (zh) * | 2014-07-08 | 2016-03-02 | 阿里巴巴集团控股有限公司 | 一种日志处理方法与设备 |
CN106296400A (zh) * | 2016-08-10 | 2017-01-04 | 中国农业银行股份有限公司 | 一种日志记录的方法及系统 |
CN106909325A (zh) * | 2016-06-30 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 日志打印方法和装置、以及日志打印系统 |
CN107979477A (zh) * | 2016-10-21 | 2018-05-01 | 苏宁云商集团股份有限公司 | 一种业务监控的方法及系统 |
CN108733543A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种日志分析的方法、装置、电子设备和可读存储介质 |
CN108958850A (zh) * | 2018-06-29 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种日志优化方法、装置、设备及计算机可读存储介质 |
CN110007956A (zh) * | 2019-03-29 | 2019-07-12 | 四川虹美智能科技有限公司 | 一种动态配置日志的方法及装置 |
CN111125043A (zh) * | 2019-11-21 | 2020-05-08 | 深圳前海环融联易信息科技服务有限公司 | 一种智能日志输出方法、装置、计算机设备及存储介质 |
CN111209128A (zh) * | 2019-12-20 | 2020-05-29 | 翱捷科技(上海)有限公司 | 一种嵌入式系统及其日志管理方法 |
CN113641560A (zh) * | 2021-10-15 | 2021-11-12 | 山东亚华电子股份有限公司 | 一种日志动态监控方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864157A (zh) * | 2003-05-08 | 2006-11-15 | 国际商业机器公司 | 自主记日志支持 |
CN101515245A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 操作日志记录方法及系统 |
US20090328005A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Debugger call stack caching |
-
2011
- 2011-02-28 CN CN201110048196.8A patent/CN102650938B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864157A (zh) * | 2003-05-08 | 2006-11-15 | 国际商业机器公司 | 自主记日志支持 |
CN101515245A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 操作日志记录方法及系统 |
US20090328005A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Debugger call stack caching |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152391B (zh) * | 2013-01-31 | 2016-08-10 | 杭州华三通信技术有限公司 | 一种日志输出方法和装置 |
CN103152391A (zh) * | 2013-01-31 | 2013-06-12 | 杭州华三通信技术有限公司 | 一种日志输出方法和装置 |
CN105373466B (zh) * | 2014-07-08 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 一种日志处理方法与设备 |
CN105373466A (zh) * | 2014-07-08 | 2016-03-02 | 阿里巴巴集团控股有限公司 | 一种日志处理方法与设备 |
CN105183621A (zh) * | 2015-08-17 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于多线程的日志管理方法及系统 |
CN106909325A (zh) * | 2016-06-30 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 日志打印方法和装置、以及日志打印系统 |
CN106909325B (zh) * | 2016-06-30 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 日志打印方法和装置、以及日志打印系统 |
CN106296400A (zh) * | 2016-08-10 | 2017-01-04 | 中国农业银行股份有限公司 | 一种日志记录的方法及系统 |
CN107979477A (zh) * | 2016-10-21 | 2018-05-01 | 苏宁云商集团股份有限公司 | 一种业务监控的方法及系统 |
CN108733543A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种日志分析的方法、装置、电子设备和可读存储介质 |
CN108733543B (zh) * | 2017-04-24 | 2021-11-12 | 北京京东尚科信息技术有限公司 | 一种日志分析的方法、装置、电子设备和可读存储介质 |
CN108958850A (zh) * | 2018-06-29 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种日志优化方法、装置、设备及计算机可读存储介质 |
CN110007956A (zh) * | 2019-03-29 | 2019-07-12 | 四川虹美智能科技有限公司 | 一种动态配置日志的方法及装置 |
CN111125043A (zh) * | 2019-11-21 | 2020-05-08 | 深圳前海环融联易信息科技服务有限公司 | 一种智能日志输出方法、装置、计算机设备及存储介质 |
CN111125043B (zh) * | 2019-11-21 | 2023-05-05 | 深圳前海环融联易信息科技服务有限公司 | 一种智能日志输出方法、装置、计算机设备及存储介质 |
CN111209128A (zh) * | 2019-12-20 | 2020-05-29 | 翱捷科技(上海)有限公司 | 一种嵌入式系统及其日志管理方法 |
CN113641560A (zh) * | 2021-10-15 | 2021-11-12 | 山东亚华电子股份有限公司 | 一种日志动态监控方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102650938B (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102650938B (zh) | 日志系统管理方法及日志系统 | |
CN1760875B (zh) | 基于文件存取特性在各种类型的存储卷之间透明迁移文件 | |
CN100409240C (zh) | 文件系统中有效文件内容搜索的系统和方法 | |
CN103425468B (zh) | 插件式软件集成方法及装置 | |
Rainsberger et al. | JUnit recipes: practical methods for programmer testing | |
CN105426310A (zh) | 一种检测目标进程的性能的方法和装置 | |
CN101464908A (zh) | 一种日志记录的方法及装置 | |
CN103150165A (zh) | 用于构建户外数据采集程序的框架以及程序构建方法 | |
CN105718371A (zh) | 一种回归测试方法、装置及系统 | |
CN105740144A (zh) | 一种Android移动终端的自动化测试方法及系统 | |
CN102135911B (zh) | 一种服务器进程启停方法、装置及系统 | |
CN115080398A (zh) | 一种接口自动化测试系统及方法 | |
CN104572394A (zh) | 进程监控方法及装置 | |
CN102004787A (zh) | 基于办公软件插件的多应用场景表单合并的方法 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
Tannir | Optimizing Hadoop for MapReduce | |
US10872027B2 (en) | Run-time or compile-time error solutions for locating missing program elements in a programming environment | |
KR101551206B1 (ko) | 차량 데이터 제어 시스템 및 제어 방법 | |
CN101685396A (zh) | 对功能图标进行控制的系统及方法 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN111435327A (zh) | 一种日志记录的处理方法、装置及系统 | |
CN115061928A (zh) | 微服务自动化测试方法、装置、电子设备及存储介质 | |
CN102141912B (zh) | 一种处理多类引擎Widget的方法及装置 | |
CN107885834B (zh) | 一种Hadoop大数据组件统一验证系统 | |
CN110736920A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150218 Termination date: 20170228 |