CN106681891A - 一种Java应用系统中调整日志级别的方法及装置 - Google Patents

一种Java应用系统中调整日志级别的方法及装置 Download PDF

Info

Publication number
CN106681891A
CN106681891A CN201510746983.8A CN201510746983A CN106681891A CN 106681891 A CN106681891 A CN 106681891A CN 201510746983 A CN201510746983 A CN 201510746983A CN 106681891 A CN106681891 A CN 106681891A
Authority
CN
China
Prior art keywords
log
level
adjusting
instruction
log level
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
Application number
CN201510746983.8A
Other languages
English (en)
Inventor
马昕曦
孙宏发
雷鑫
沈涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510746983.8A priority Critical patent/CN106681891A/zh
Publication of CN106681891A publication Critical patent/CN106681891A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种Java应用系统中调整日志级别的方法及装置。该方法包括:接收用户发送的调整日志级别的指令,所述指令包括待调整日志级别的日志的日志名称与目标日志级别之间的对应关系;根据所述日志名称在Java应用系统当前日志中查找与所述日志名称对应的待调整日志级别的日志;在查找到所述待调整日志级别的日志后,根据所述指令中的对应关系将所述待调整日志级别的日志的级别调整成目标日志级别。在Java应用系统中应用本申请实施例,使得用户可以根据实际应用的需求实时地向服务端或客户端发送调整日志级别的指令,使得服务端或客户端根据该调整日志级别的指令对日志级别进行动态地调整。

Description

一种Java应用系统中调整日志级别的方法及装置
技术领域
本申请涉及计算机领域,尤其涉及一种Java应用系统中调整日志级别的方法及装置。
背景技术
系统日志中记录着系统中硬件、软件和系统的信息,是系统中重要的一部分。例如,系统中应用出现的错误信息会以日志的方式记录在日志文件中,管理员即使在系统发生错误的当时没有及时对系统进行维护,也可以在事后根据日志文件中记录的出错信息对系统进行调试,从而提高系统的性能。
在系统日志编写的过程中通常要采用相应的日志框架,其中,一些日志框架编写的日志在调整日志级别时,采用加载配置文件的方式。例如,在Java应用系统中,采用Log4j日志框架编写的日志就是通过提供配置文件的方式来控制日志级别,但是配置文件一旦被系统加载后,日志的级别将无法调整。
发明内容
鉴于上述问题,本申请实施例提供一种Java应用系统中调整日志级别的方法,解决了Java系统中日志级别不能调整的问题。
本申请实施例采用下述技术方案:接收用户发送的调整日志级别的指令,所述指令包括待调整日志级别的日志的日志名称与目标日志级别之间的对应关系;根据所述日志名称在Java应用系统当前日志中查找与所述日志名称对应的待调整日志级别的日志;在查找到所述待调整日志级别的日志后,根据所述指令中的对应关系将所述待调整日志级别的日志的级别调整成目标日志级别。
优选地,所述在接收用户发送的调整日志级别的指令后,所述方法还包括:
根据接收到的通讯内容规则解析用户发送的调整日志级别的指令,获得所述待调整日志级别的日志的日志名称与目标日志级别之间的对应关系。
优选地,所述调整日志级别的指令是按照所述通讯内容规则编写的指令,所述通讯内容规则包括:
将所述待调整日志级别的日志的日志名称与目标日志级别之间建立对应关系。
优选地,所述接收通讯内容规则具体包括:
在控制台接收用户发送的推送命令后,服务端或客户端接收控制台发送通讯内容规则,所述推送命令触发所述控制台向服务端或客户端发送所述通讯内容规则。
优选地,所述控制台发送通讯内容规则包括:
在用户发送调整日志级别的指令之前,向服务端或客户端发送通讯内容规则;或,
在用户发送调整日志级别的指令的同时,向服务端或客户端发送通讯内容规则;或,
在用户发送调整日志级别的指令之后,向服务端或客户端发送通讯内容规则。
优选地,所述用户发送推送命令的方式包括:
用户通过按动按钮或按键向控制台发送推送命令;或,
用户通过触摸触摸屏向控制台发送推送命令。
优选地,所述在根据所述指令中的对应关系将待调整日志级别的日志的级别调整成目标日志级别之后,向用户显示调整成功。
优选地,所述方法是应用于对基于Log4j日志框架编写的日志的日志级别进行调整的方法。
优选地,所述装置存在于服务端或客户端中,该装置包括:
第一接收单元、查找单元和调整单元;其中,
所述第一接收单元,用于接收用户发送的调整日志级别的指令,所述指令包括待调整日志级别的日志的日志名称与目标日志级别之间的对应关系;
所述查找单元,用于根据所述日志名称在Java应用系统当前日志中查找与所述日志名称对应的待调整日志级别的日志;
所述调整单元,用于在查找到所述待调整日志级别的日志后,根据所述指令中的对应关系将所述待调整日志级别的日志的级别调整成目标日志级别。
优选地,所述装置还包括:
解析单元、第二接收单元;其中,
所述解析单元,用于在接收用户发送的调整日志级别的指令之后,根据接收到的通讯内容规则解析用户发送的调整日志级别的指令的语义,得到所述待调整日志级别的日志的日志名称与目标日志级别的对应关系;
所述第二接收单元,用于在控制台接收用户发送的推送命令后,接收控制台发送通讯内容规则。
针对现有技术中日志级别不能调整的问题,本申请实施例提供的方法可以使用户根据实际应用的需要实时地向服务端或客户端发送调整日志级别的指令,使服务端或客户端根据接收到的调整日志级别的指令后,可以对日志级别进行动态地地调整。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种Java应用系统中调整日志级别的方法的具体流程示意图;
图2为本申请实施例提供的一种针对调整日志级别的指令作健壮性处理的流程示意图;
图3为本申请实施例提供的一种服务端或客户端获得通讯内容规则的方式的具体流程示意图;
图4为本申请实施例提供的一种Java应用系统中调整日志级别的装置的具体结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种Java应用系统中调整日志级别的方法,用于动态地调整Java应用系统中日志的级别。在Java应用系统中,编写日志时通常要采用相应的日志框架,例如:Log4j、Logback日志框架等。为了更清楚的说明本申请实施例,本申请实施例以Log4j日志框架编写的日志为例进行说明。
在说明本申请实施例前,有必要对Log4j日志框架编写的日志的特点进行说明,Log4j日志框架编写的日志可以包括但不限于以下两种特点:
特点一:Log4j日志采用等级化设计:
在Java应用系统日志中通常采用OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL等几个级别来进行分类,其中,ERROR、WARN、INFO、DEBUG是Java应用系统最常用的四个日志级别,在使用的过程中会对这四个级别日志规定优先级,该优先级一般规定为:DEBUG<INFO<WARN<ERROR,系统通过定义日志级别控制日志的输出。例如系统此时定义的日志级别为INFO,则系统会将INFO级别以上包括INFO级别的日志输出,即输出的日志级别为:INFO、WARN和ERROR。
特点二:Log4j日志采用树形可继承的层次结构设计:
在Log4j层次结构中,一般是以日志的名称作为标识,例如,最顶层的日志名称为ROOT,这时ROOT日志就被默认为所有日志的根日志,系统中除了ROOT日志以外的其它所有日志都会直接或者间接的继承ROOT的特性,例如,com是ROOT的子日志,系统在定义ROOT日志时会规定ROOT日志的级别,假如规定ROOT日志的级别为INFO,但是如果系统对子日志com没有规定级别,这时子日志com将直接继承ROOT日志的级别,即此时子日志com的级别默认为INFO。在编写的过程中如果日志com需要建立自己的子日志时,日志的名称必须以“com.”开头,例如:com.xxx。同样,这里如果没有对com.xxx日志的级别进行自定义的情况下,com.xxx日志将继承com日志的级别,而com日志做为ROOT日志的子日志在没有自定义日志级别的情况下也将继承ROOT日志的级别,这时com.xxx日志间接的继承了ROOT日志的级别。
另外,为明确起见,针对本申请实施例的应用场景进行说明:用户在调整日志级别时可能是在服务端对日志的级别进行调整,也可能是用户在客户端对日志级别进行调整,例如用户作为管理员在客户端对其它服务器中的日志的级别进行调整。
下面针对本申请实施例提供的一种Java应用系统中调整日志级别的方法进行说明,该方法的具体流程示意图如图1所示,具体包括下述步骤:
步骤11:接收用户发送的调整日志级别的指令,所述指令包括待调整日志级别的日志的日志名称与目标日志级别之间的对应关系。
在本步骤中,用户想要对Java应用系统中的某部分日志的日志级别做调整,从而使该日志输出或者不让其输出。例如,在双十一淘宝促销时,系统因为需要处理大量的业务需要关闭淘宝中一部分非关键业务信息来节约系统资源,这时就需要用户动态地控制系统日志的输出。
再例如,在Java应用系统的部署中,一般会存在线上环境和线下环境,在线上环境时,由于调试级别的日志内容比较庞大,为了避免影响线上环境下系统的运行速率,一般会关闭调试级别日志的输出,这时就会给想要根据该调试级别日志来调试系统的用户带来了不便,如果用户可以将需要用到的调试级别的日志所对应的日志级别进行调整,使这部分日志正常输出,用户就可以根据输出的日志对系统进行调试,而且因为输出日志的只是系统调试级别日志中的一部分,因此对线上环境下系统的运行速率影响较小。
又例如,在一些应用场景下对某应用系统进行升级时有时会引入相关的jar包,通常情况下,这些jar包控制着日志的输出,如果该日志的框架采用的是Log4j日志框架,因为Log4j日志框架编写的日志的配置文件一旦加载,日志的级别将无法调整,所以用户就无法控制该jar包中日志的输出,而且这些jar包升级时需要消耗系统的资源,由于无法控制jar包中日志的输出,用户也就无法控制这种资源的消耗,如果用户可以调整上述jar包中的日志级别,使该jar包中的日志合理的输出,这样就可以减少系统资源的消耗。
大部分的Java应用系统中经常使用Log4j日志框架来编写日志,Log4j日志框架编写的日志一般是按照日志级别的先后控制日志的输出。在本步骤中,假如用户想要对Log4j日志框架编写的日志中的某部分日志的日志级别进行调整,首先用户要向服务端或客户端发送具体的调整日志级别的指令,例如,在某应用场景下,将Java应用系统中日志的输出级别设置为INFO,则服务器将INFO以及INFO级别以上的日志输出,例如输出日志对应的日志级别分别为INFO、WARN和ERROR,假如在该应用场景下其中的一个子日志com.xxx的级别为WARN,但用户不想让该子日志输出,就可以将com.xxx的日志级别做调整,例如将com.xxx的级别改成DEBUG,这时服务器就不会将com.xxx的日志内容输出,这里“将com.xxx的级别改成DEBUG”就是调整日志级别的指令。
用户在编写调整日志级别的指令时必须按照用户与服务端或客户端之间建立的通讯内容规则编写指令,然后服务端或客户端才能根据该通讯内容规则对用户发来的调整日志级别的指令进行解析,从而获得该指令的语义,解析出该调整日志级别的指令的语义后,再根据该语义进行相应的调整日志级别的操作,其中,为了让服务端或客户端更清楚的理解该调整日志级别指令的语义,用户编写的通讯内容规则要结合Log4j日志框架编写的日志的特点,这里通讯内容规则的内容可以是将待调整日志级别的日志的日志名称与该日志的级别建立对应关系,例如通讯内容规则可以是“日志名称=日志级别”,例如,用户向服务端或客户端发送的调整日志级别的指令为“ROOT=INFO”,服务端或客户端根据“日志名称=日志级别”的通讯内容规则将该调整日志级别的指令的语义解析出来,即“将根日志ROOT的日志级别改为INFO”,这里“日志名称=日志级别”的通讯内容规则只是示例性的说明,并没有对通讯内容规则作具体限定。另外,如果用户想要同时发送多个调整日志级别的指令时,在通讯内容规则中为避免服务端或客户端解析错误,可以设计合理的分隔符,例如,用户可以向服务端或客户端发送的调整日志级别的指令为“ROOT=DEBUG,com=INFO”,其中半角的“,”就是通讯内容规则中规定的分隔符,服务端或客户端接收到该调整日志级别的指令后,将该指令解析为:将根日志ROOT的日志级别改为DEBUG,子日志的com的日志级别改为INFO。如果用户向服务端或客户端发送的调整日志级别的指令为空时,服务端或客户端对该应用系统中的日志级别不做任何调整,保持应用系统原始配置的日志级别。
另外,因为该调整日志级别的指令是用户自行编写的,有时用户会在编写指令的过程中出现失误,针对该问题服务端或客户端可以对用户编写的调整日志级别的指令作健壮性处理。图2为健壮性处理的具体流程图,包括大小写兼容处理、空格兼容处理、重复定义处理,无效格式处理和追加式容错处理,其中这五个针对调整日志级别的指令的处理方式只是示例性的说明,还可能有其它处理方式,且图2显示服务端或客户端执行上述的五个处理方式的顺序也是示例性的说明,用户可以根据具体操作自行设定处理顺序。以下将针对这五个处理方式进行具体说明:
1、大小写兼容处理:如果用户向服务端或客户端发送的调整日志级别的指令中出现大小写编写错误时,服务端或客户端将默认用户编写的调整日志级别的指令为正确的调整日志级别的指令。例如,系统中存储的日志名称为ROOT,用户在向服务端或客户端发送的调整日志级别的指令为“root=INFO”,此时服务端或客户端将默认用户编写的调整日志级别的指令为“ROOT=INFO”并执行相关操作。
2、空格兼容处理:如果用户向服务端或客户端发送的调整日志级别的指令中出现多个空格时,服务端或客户端将默认用户编写的调整日志级别的指令为正确的调整日志级别的指令。例如,系统中存储的日志名称为ROOT,用户在向服务端或客户端发送的调整日志级别的指令为“R OOT=INFO”,此时服务端或客户端将默认用户编写的调整日志级别的指令为“ROOT=INFO”并执行相关操作。
3、重复定义处理:如果用户向服务端或客户端发送的调整日志级别的指令中出现重复调整指令时,最后一个调整日志级别指令会覆盖之前的日志调整指令。例如,用户在向服务端或客户端发送的调整调整日志级别的指令为“ROOT=INFO,ROOT=INFO”,此时服务端或客户端将默认用户编写的调整日志级别的指令为“ROOT=INFO”并执行相关操作。
4、无效格式定义容错处理:如果用户向服务端或客户端发送的调整日志级别的指令中出现无效格式时,服务端或客户端将终止调整日志级别的操作,这里无效格式可以是日志级别错误或缺失,还可以是日志名称或日志级别在系统中无法找到等。例如,用户在向服务端或客户端发送的调整日志级别的指令为“ROOT=IN”或者“com=”,服务端或客户端将不会执行调整日志级别操作;再例如用户发送的调整日志级别的指令为“com.YYY=FATAL”如果系统中所有日志的名称并没有com.YYY,这时服务端或客户端并不会执行任何操作,或者虽然系统中有名称为com.YYY的日志,但是系统设置的日志级别中没有FATAL,这时服务端或客户端同样也不会执行调整com.YYY的日志级别的操作。
5、追加式容错处理:用户在将调整日志级别的指令发送给服务端或客户端时,可能会出现发送的调整日志级别的指令会将系统中其它日志的日志级别进行调整或者覆盖,因此提出追加式容错处理,即当用户发送调整日志指令后,服务端或客户端只调整用户指令中需要调整的日志级别的日志,而不影响其它级别的日志。例如,系统中的日志包括:ROOT(INFO)、com(INFO)、com.xxx(INFO),假如用户发送的调整日志级别的指令为“com.xxx=WARN”,此时系统中日志将变为ROOT(INFO)、com(INFO)、com.xxx(WARN),其中ROOT和com的日志级别不发生任何变化,也会不会被com.xxx(WARN)覆盖。
上述步骤中,服务端或客户端根据通讯内容规则对用户发来的调整日志级别的指令进行解析,其中服务端或客户端获得通讯内容规则的方式有很多种,这里示例性的对其中一种方式进行说明,该方式的具体流程如图3所示:第一步:用户向控制台发送推送命令,用户发送推送命令的方式可以是用户通过按动按钮或按键向控制台发送推送命令,或者用户通过触摸触摸屏向控制台发送推送命令等,这里通过用户向控制台发送推送命令,从而触发控制台向服务端或客户端发送通信内容规则;第二步:待控制台接收到推送命令后,将用户编写的通讯内容规则发送给服务端或客户端,这里的服务端或客户端可以是一个或者多个。当有多个服务端或客户端时,控制台可以将完整的通讯内容规则分别发给每个服务端或客户端,然后每个服务端或客户端根据通讯内容规则中和自己有关的规则进行解析调整日志级别的指令的语义,也可以是控制台根据每个服务端或客户端所执行的操作将通讯内容规则拆分成多个规则,然后每个服务端或客户端将只获得和自己操作相关的规则,并根据该规则解析出调整日志级别的指令的语义。
另外,上述控制台向服务端或客户端发送通讯内容规则,可以是在用户发送调整日志级别的指令前或后,向服务端或客户端发送通讯内容规则;或者是在用户发送调整日志级别指令的同时,向服务端或客户端发送通讯内容规则,这里的通讯内容规则和调整日志级别指令可以编写成一个整体发送给服务端或客户端,也可以是通讯内容规则和调整日志级别指令作为两部分内容同时发送给服务端或客户端。
步骤12:根据所述日志名称在Java应用系统当前日志中查找与所述日志名称对应的待调整日志级别的日志。
服务端或客户端在接受用户发送的调整日志级别的指令后,首先将应用系统当前所有的日志以及该日志所对应的日志级别建立仓储,该仓储的建立是根据每个日志的属性以及命名进行建立,目的是为了便于用户更好的管理日志。然后服务端或客户端根据该指令中需要调整日志级别的日志的名称,在上述建立的仓储中查找与该日志名称对应的日志。
步骤13:在查找到所述待调整日志级别的日志后,根据所述指令中的对应关系将所述待调整日志级别的日志的级别调整成目标日志级别。
在步骤12中在系统建立的仓储中查找到与该日志名称对应的待调整日志级别的日志后,就可以在应用系统中找到与该日志对应的日志级别,该日志级别是系统原来自动配置的日志级别,例如,服务端或客户端通过Log4j中的应用程序中的编程接口(API)找到日志级别;最后服务端或客户端根据接收到的用户发送的调试日志级别的指令调整对应日志的级别,调整成功时,服务端或客户端提示用户调整成功。
在用户成功调整日志级别后,将日志按照系统预定规则输出,输出的方式可以是按照系统规定日志级别的优先级进行输出,在这里不作具体限定。
用户采用本申请实施例调整日志级别的过程中,可以根据实际应用的需要实时地向服务端或客户端发送调整日志级别指令,使服务端或客户端根据接收到调整日志级别的指令后,对日志级别进行动态地调整。
另外,Java应用系统中另外一种用户经常用到的日志框架Logback编写的日志,在该日志输出的过程中虽然可以调整日志级别,但是该调整日志级别方法的一般步骤是:首先系统通过扫描配置文件,查找到配置文件中用户调整的日志级别,然后重新加载调整后的配置文件完成日志级别的调整,因为从扫描配置文件到找到调整日志级别的位置浪费了一定的时间,所以系统有时无法做到实时地调整日志级别。而本申请实施例提供的调整日志级别的方法是根据调整日志级别指令在配置文件中直接调整日志的级别,相比Logback日志框架编写的日志中调整日志级别的方法,节约了一定的时间,提高了调整日志级别的效率。
上述实施例提出了一种Java应用系统中调整日志级别的方法,与之相应地,本申请还提供了一种Java应用系统中调整日志级别的装置,该装置用于在Java应用系统中对系统日志的级别进行动态地、实时地调整。该装置的结构示意图如图4所示,具体包括:
第一接收单元41、查找单元42和调整单元43;其中,
第一接收单元41,可以用于接收用户发送的调整日志级别的指令,该指令包括待调整日志级别的日志的日志名称与目标日志级别之间的对应关系;
查找单元42,可以用于根据所述日志名称在Java应用系统当前日志中查找与该日志名称对应的待调整日志级别的日志;
调整单元43,可以用于在查找到所述待调整日志级别的日志后,根据该指令中的对应关系将该待调整日志级别的日志的级别调整成目标日志级别。
上述装置的实施例中的工作过程是:首先接收单元41接收用户发送的将日志级别改成目标日志级别的调整日志级别指令,再由查找单元42根据该日志名称在Java应用系统当前日志中查找与该日志名称对应的日志,在查找到该待调整日志级别的日志后,由调整单元43根据该指令中的待调整日志级别的日志的日志名称与目标日志级别之间的对应关系,将该待调整日志级别的日志的级别调整成目标日志级别。
上述装置实施例获得的有益效果与前述方法实施例获得的有益效果相同或者类似,为避免重复,这里不做赘述。
上述装置实施例中调整Java应用系统中日志级别的实施方式有很多种,在一种实施方式中,所述调整日志级别的装置还包括解析单元、第二接收单元;其中,
解析单元,可以用于在接收用户发送的调整日志级别的指令之后,根据接收到的通讯内容规则解析用户发送的调整日志级别的指令的语义。
第二接收单元,可以用于待控制台接收用户发送的推送命令后,接收控制台发送通讯内容规则。
这里接收到的通讯内容规则可以使服务端或客户端准确的解析用户编写的调整日志级别的指令,从而执行相应的调整日志级别的操作。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种Java应用系统中调整日志级别的方法,其特征在于,该方法包括:
接收用户发送的调整日志级别的指令,所述指令包括待调整日志级别的日志的日志名称与目标日志级别之间的对应关系;
根据所述日志名称在Java应用系统当前日志中查找与所述日志名称对应的待调整日志级别的日志;
在查找到所述待调整日志级别的日志后,根据所述指令中的对应关系将所述待调整日志级别的日志的级别调整成目标日志级别。
2.根据权利要求1所述的方法,其特征在于,所述在接收用户发送的调整日志级别的指令后,所述方法还包括:
根据接收到的通讯内容规则解析用户发送的调整日志级别的指令,获得所述待调整日志级别的日志的日志名称与目标日志级别之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述调整日志级别的指令是按照所述通讯内容规则编写的指令,所述通讯内容规则包括:
将所述待调整日志级别的日志的日志名称与目标日志级别之间建立对应关系。
4.根据要求2所述的方法,其特征在于,所述接收通讯内容规则具体包括:
在控制台接收用户发送的推送命令后,服务端或客户端接收控制台发送通讯内容规则,所述推送命令触发所述控制台向服务端或客户端发送所述通讯内容规则。
5.根据权利要求4所述的方法,其特征在于,所述控制台发送通讯内容规则包括:
在用户发送调整日志级别的指令之前,向服务端或客户端发送通讯内容规则;或,
在用户发送调整日志级别的指令的同时,向服务端或客户端发送通讯内容规则;或,
在用户发送调整日志级别的指令之后,向服务端或客户端发送通讯内容规则。
6.根据要求4所述的方法,其特征在于,所述用户发送推送命令的方式包括:
用户通过按动按钮或按键向控制台发送推送命令;或,
用户通过触摸触摸屏向控制台发送推送命令。
7.根据权利要求1所述的方法,其特征在于,所述在根据所述指令中的对应关系将待调整日志级别的日志的级别调整成目标日志级别之后,向用户显示调整成功。
8.根据权利要求1-7中任何一项所述的方法,其特征在于,所述方法是应用于对基于Log4j日志框架编写的日志的日志级别进行调整的方法。
9.一种Java应用系统中调整日志级别的装置,其特征在于,所述装置存在于服务端或客户端中,该装置包括:
第一接收单元、查找单元和调整单元;其中,
所述第一接收单元,用于接收用户发送的调整日志级别的指令,所述指令包括待调整日志级别的日志的日志名称与目标日志级别之间的对应关系;
所述查找单元,用于根据所述日志名称在Java应用系统当前日志中查找与所述日志名称对应的待调整日志级别的日志;
所述调整单元,用于在查找到所述待调整日志级别的日志后,根据所述指令中的对应关系将所述待调整日志级别的日志的级别调整成目标日志级别。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
解析单元、第二接收单元;其中,
所述解析单元,用于在接收用户发送的调整日志级别的指令之后,根据接收到的通讯内容规则解析用户发送的调整日志级别的指令的语义,得到所述待调整日志级别的日志的日志名称与目标日志级别的对应关系;
所述第二接收单元,用于在控制台接收用户发送的推送命令后,接收控制台发送通讯内容规则。
CN201510746983.8A 2015-11-05 2015-11-05 一种Java应用系统中调整日志级别的方法及装置 Pending CN106681891A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510746983.8A CN106681891A (zh) 2015-11-05 2015-11-05 一种Java应用系统中调整日志级别的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510746983.8A CN106681891A (zh) 2015-11-05 2015-11-05 一种Java应用系统中调整日志级别的方法及装置

Publications (1)

Publication Number Publication Date
CN106681891A true CN106681891A (zh) 2017-05-17

Family

ID=58857894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510746983.8A Pending CN106681891A (zh) 2015-11-05 2015-11-05 一种Java应用系统中调整日志级别的方法及装置

Country Status (1)

Country Link
CN (1) CN106681891A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729506A (zh) * 2017-10-23 2018-02-23 郑州云海信息技术有限公司 一种存储介质和日志级别的动态调整方法、装置及系统
CN108804279A (zh) * 2018-03-30 2018-11-13 阿里巴巴集团控股有限公司 修改日志打印等级的方法及应用设备
CN108846070A (zh) * 2018-06-07 2018-11-20 北京京东尚科信息技术有限公司 分布式系统的日志处理方法、系统、电子设备和存储介质
CN108897659A (zh) * 2018-06-06 2018-11-27 腾讯音乐娱乐科技(深圳)有限公司 修改日志级别的方法、装置及存储介质
CN109032881A (zh) * 2017-06-09 2018-12-18 武汉斗鱼网络科技有限公司 一种日志级别动态调整方法及装置
CN110334071A (zh) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 log4j日志框架的属性配置方法、装置和计算机设备
CN110351126A (zh) * 2019-06-26 2019-10-18 中信百信银行股份有限公司 日志级别调整方法、装置及电子设备
CN110780857A (zh) * 2019-10-23 2020-02-11 杭州涂鸦信息技术有限公司 一种统一日志组件
CN111130905A (zh) * 2019-12-31 2020-05-08 青梧桐有限责任公司 基于分布式集群的日志级别动态调整方法
CN111182066A (zh) * 2019-12-31 2020-05-19 青梧桐有限责任公司 基于token认证的日志级别动态调整方法
CN111435327A (zh) * 2019-01-15 2020-07-21 菜鸟智能物流控股有限公司 一种日志记录的处理方法、装置及系统
CN111797066A (zh) * 2020-06-11 2020-10-20 新奇点智能科技集团有限公司 日志等级实时修改方法、装置、电子设备及可读存储介质
CN112486435A (zh) * 2020-12-17 2021-03-12 青岛海尔科技有限公司 用于日志打印的方法、系统和装置
CN113010366A (zh) * 2019-12-20 2021-06-22 阿里巴巴集团控股有限公司 日志输出方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120023116A1 (en) * 2010-07-23 2012-01-26 Oracle International Corporation System and method for conversion of jms message data into database transactions for application to multiple heterogeneous databases
CN102984680A (zh) * 2012-12-19 2013-03-20 南京中兴软创科技股份有限公司 一种在电信运营系统的对外接口中实现号码跟踪的方法
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
CN104993957A (zh) * 2015-06-29 2015-10-21 浪潮软件股份有限公司 一种为使用Log4j的分布式应用提供云端日志服务的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120023116A1 (en) * 2010-07-23 2012-01-26 Oracle International Corporation System and method for conversion of jms message data into database transactions for application to multiple heterogeneous databases
CN102984680A (zh) * 2012-12-19 2013-03-20 南京中兴软创科技股份有限公司 一种在电信运营系统的对外接口中实现号码跟踪的方法
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
CN104993957A (zh) * 2015-06-29 2015-10-21 浪潮软件股份有限公司 一种为使用Log4j的分布式应用提供云端日志服务的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YBAK: "在应用中通过页面动态调整log4j的logger级别", 《HTTP://YBAK.ITEYE.COM/BLOG/1887617》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032881A (zh) * 2017-06-09 2018-12-18 武汉斗鱼网络科技有限公司 一种日志级别动态调整方法及装置
CN107729506A (zh) * 2017-10-23 2018-02-23 郑州云海信息技术有限公司 一种存储介质和日志级别的动态调整方法、装置及系统
CN108804279A (zh) * 2018-03-30 2018-11-13 阿里巴巴集团控股有限公司 修改日志打印等级的方法及应用设备
CN108897659A (zh) * 2018-06-06 2018-11-27 腾讯音乐娱乐科技(深圳)有限公司 修改日志级别的方法、装置及存储介质
CN108897659B (zh) * 2018-06-06 2021-10-15 腾讯音乐娱乐科技(深圳)有限公司 修改日志级别的方法、装置及存储介质
CN108846070A (zh) * 2018-06-07 2018-11-20 北京京东尚科信息技术有限公司 分布式系统的日志处理方法、系统、电子设备和存储介质
CN111435327A (zh) * 2019-01-15 2020-07-21 菜鸟智能物流控股有限公司 一种日志记录的处理方法、装置及系统
CN111435327B (zh) * 2019-01-15 2023-11-14 菜鸟智能物流控股有限公司 一种日志记录的处理方法、装置及系统
WO2020238049A1 (zh) * 2019-05-30 2020-12-03 平安科技(深圳)有限公司 log4j日志框架的属性配置方法、装置和计算机设备
CN110334071A (zh) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 log4j日志框架的属性配置方法、装置和计算机设备
CN110351126A (zh) * 2019-06-26 2019-10-18 中信百信银行股份有限公司 日志级别调整方法、装置及电子设备
CN110780857A (zh) * 2019-10-23 2020-02-11 杭州涂鸦信息技术有限公司 一种统一日志组件
CN110780857B (zh) * 2019-10-23 2024-01-30 杭州涂鸦信息技术有限公司 一种统一日志组件
CN113010366A (zh) * 2019-12-20 2021-06-22 阿里巴巴集团控股有限公司 日志输出方法、装置及设备
CN113010366B (zh) * 2019-12-20 2024-05-24 阿里巴巴集团控股有限公司 日志输出方法、装置及设备
CN111182066A (zh) * 2019-12-31 2020-05-19 青梧桐有限责任公司 基于token认证的日志级别动态调整方法
CN111130905A (zh) * 2019-12-31 2020-05-08 青梧桐有限责任公司 基于分布式集群的日志级别动态调整方法
CN111797066A (zh) * 2020-06-11 2020-10-20 新奇点智能科技集团有限公司 日志等级实时修改方法、装置、电子设备及可读存储介质
CN111797066B (zh) * 2020-06-11 2024-04-23 新奇点智能科技集团有限公司 日志等级实时修改方法、装置、电子设备及可读存储介质
CN112486435A (zh) * 2020-12-17 2021-03-12 青岛海尔科技有限公司 用于日志打印的方法、系统和装置

Similar Documents

Publication Publication Date Title
CN106681891A (zh) 一种Java应用系统中调整日志级别的方法及装置
US9953075B1 (en) Data classification system for hybrid clouds
CN106649788B (zh) 一种数据库数据传输方法与装置
US10372433B2 (en) Caching and analyzing images for faster and simpler cloud application deployment
CN104113576A (zh) 一种客户端的更新方法及装置
CN111324606B (zh) 数据分片的方法及装置
CN108614702B (zh) 字节码优化方法及装置
US20140282420A1 (en) Test automation booster
KR102061466B1 (ko) 메모리 관리를 위한 보존 가비지 콜렉팅 및 정수 태깅 기법
US9886272B1 (en) Transformation of a web application into a hybrid mobile application
US10855750B2 (en) Centralized management of webservice resources in an enterprise
CN106202083A (zh) 用于web页面的资源打包系统、方法及装置
US10747730B2 (en) Providing extended file storage for applications
CN105447040B (zh) 二进制文件管理、更新方法、装置以及系统
CN110019497B (zh) 一种数据读取方法及装置
US11526501B2 (en) Materialized views assistant
US11556499B2 (en) Container image migration service
US11803429B2 (en) Managing alert messages for applications and access permissions
CN111435327B (zh) 一种日志记录的处理方法、装置及系统
CN114895852A (zh) 数据处理方法、系统、装置、存储介质以及电子设备
US20190197108A1 (en) Method for managing semantic information on m2m/iot platform
WO2022214200A1 (en) Method and network element for pre-upgrade use case validation
CN115562795A (zh) 容器运行环境检测方法及装置、电子设备、介质
CN107862006B (zh) 数据源切换的实现方法和装置
CN107766216A (zh) 一种用于获取应用执行信息的方法与设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170517

RJ01 Rejection of invention patent application after publication