CN106802858B - 一种日志动态配置方法、装置及系统 - Google Patents
一种日志动态配置方法、装置及系统 Download PDFInfo
- Publication number
- CN106802858B CN106802858B CN201710029226.8A CN201710029226A CN106802858B CN 106802858 B CN106802858 B CN 106802858B CN 201710029226 A CN201710029226 A CN 201710029226A CN 106802858 B CN106802858 B CN 106802858B
- Authority
- CN
- China
- Prior art keywords
- log
- configuration
- log configuration
- database
- node
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012986 modification Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 17
- 238000012217 deletion Methods 0.000 claims description 13
- 230000037430 deletion Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种日志动态配置方法、装置及系统。该方法包括:当接收到日志配置更新指令时,根据所述日志配置更新指令对日志配置数据库进行更新;获取所述日志配置更新指令对应的至少一个目标项目节点;向所述至少一个目标项目节点发送第一消息,以便所述目标项目节点通过所述日志配置数据库进行日志配置信息的更新。本发明实施例提供的技术方案能够提高服务稳定性。对于通过分布式设置的多个目标项目节点,能够实现对分布式节点的日志配置进行更新,提高分布式节点日志配置更新的可靠性。
Description
技术领域
本发明实施例涉及电子信息处理技术,尤其涉及一种日志动态配置方法、装置及系统。
背景技术
随着Java语言的发展,Java的日志成为Java编程和运行过程中不可获取的组成部分。目前Apache为用户提供了一个开源的日志架构,即Log4j(Log for java,Java的日志)。
相关技术中的日志配置方法存在缺陷,需要改进。
发明内容
本发明提供一种日志动态配置方法、装置及系统,可以提高服务稳定性并实现对分布式节点的日志配置进行更新,提高分布式节点日志配置更新的可靠性。
第一方面,本发明实施例提供了一种日志动态配置方法,包括:
当通过Log4j接收到日志配置更新指令时,根据所述日志配置更新指令对日志配置数据库进行更新;
获取所述日志配置更新指令对应的至少一个目标项目节点;
向所述至少一个目标项目节点发送第一消息,以便所述目标项目节点接收到所述第一消息时访问所述日志配置数据库进行日志配置信息的更新,所述第一消息表示存在日志配置更新需求。
第二方面,本发明实施例还提供了一种日志动态配置方法,包括:
当接收到第一消息时,读取数据库地址信息,所述第一消息表示存在日志配置信息更新需求;
根据所述数据库地址信息访问日志配置数据库,所述日志配置数据库中存储包括更新的日志配置信息;
通过所述日志配置数据库获取所述更新的日志配置信息。
第三方面,本发明实施例还提供了一种日志动态配置装置,包括:
更新指令接收模块,用于接收日志配置更新指令;
数据库更新模块,用于根据所述更新指令接收模块接收到的所述日志配置更新指令对日志配置数据库进行更新;
目标节点获取模块,用于获取所述日志配置更新指令对应的至少一个目标项目节点;
发送模块,用于向所述目标节点获取模块获取的所述至少一个目标项目节点发送第一消息,以便所述目标项目节点接收到所述第一消息时访问所述日志配置数据库进行日志配置信息的更新,所述第一消息表示存在日志配置更新需求。
第四方面,本发明实施例还提供了一种日志动态配置装置,包括:
变更消息接收模块,用于接收第一消息,所述第一消息表示存在日志配置信息更新需求;
地址读取模块,用于当所述变更消息接收模块接收到所述第一消息时,读取数据库地址信息;
数据库访问模块,用于根据所述地址读取模块读取的所述数据库地址信息访问日志配置数据库,所述日志配置数据库中存储包括更新的日志配置信息;
配置更新模块,用于通过所述数据库访问模块访问的所述日志配置数据库获取更新的日志配置信息。
第五方面,本发明实施例还提供了一种日志动态配置系统,包括:日志管理后台、配置中心、日志配置数据库以及与项目存在订阅关系的项目节点,其中,每个项目被至少一个项目节点订阅;
所述日志管理后台接收用户输入的日志配置更新指令;
所述日志管理后台根据所述日志配置更新指令向日志配置数据库写入更新的日志配置信息;
所述日志配置数据库根据日志管理后台发送的更新的日志配置信息对已存储的日志配置数据进行更新;
所述日志管理后台向所述配置中心发送日志更新事件;
所述配置中心接收到所述日志更新事件时,从项目节点中获取所述日志配置更新指令对应的至少一个目标项目节点;
所述配置中心向所述至少一个目标项目节点发送第一消息,所述第一消息表示存在日志配置更新需求;
目标项目节点接收到第一消息时,读取数据库地址信息,并根据所述数据库地址信息访问日志配置数据库,通过所述日志配置数据库获取更新的日志配置信息。
本发明实施例能够根据接收到的日志配置更新指令对日志配置数据库进行更新,然后获取相同项目下的全部目标项目节点,最后通知每个目标项目节点访问日志配置数据库进行日志配置的更新,在保持系统服务运行的同时实现日志配置的更新,提高服务稳定性。对于通过分布式设置的多个目标项目节点,能够实现对分布式节点的日志配置进行更新,提高分布式节点日志配置更新的可靠性。
附图说明
图1是本发明实施例中的一个日志动态配置方法的流程图;
图2是本发明实施例中的另一个日志动态配置方法的流程图;
图3是本发明实施例中的一个日志动态配置装置的结构示意图;
图4是本发明实施例中的另一个日志动态配置装置的结构示意图;
图5是本发明实施例中的一个日志动态配置系统的系统框图;
图6是本发明实施例中的一个移动终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种日志动态配置方法的流程图,本实施例可适用于对分布式节点的日志配置进行更新的情况。可选的,该方法可以由接收日志配置更新指令的web服务器来执行,该web服务器可配置有与方法对应的处理部件,如存储有本实施例所示方法对应的计算机程序的存储器以及从该存储器中读取程序代码进行运行的处理器等。可选的,该方法也可以由web服务器将用户输入的日志配置更新指令发送到特定服务器,由该特定服务器执行本实施例提供的方法。可选的,该方法还可以由多个服务器通过协同运行进行实现,具体协同过程后续进行详细说明。本实施例提供的日志动态配置方法如图1所示,包括如下步骤:
步骤101、当接收到日志配置更新指令时,根据日志配置更新指令对日志配置数据库进行更新。
可选的,通过Log4j接收到日志配置更新指令。
日志配置更新指令用于对Log4j中的日志配置参数进行更新。Log4j包括Logger、Appender和Layout三个组件,其中Logger为日志记录器,用于收集处理日志记录,Logger对应的日志配置参数用于对如何处理日志进行设置。Appender表示日志输出目的地,Appender对应的日志配置参数用于对日志的输出位置(或输出地址)进行设置。Layout用于记录日志格式化信息,Layout对应的日志配置参数用于对日志的输出格式进行设置。通常,一个Logger可对应多个Appender,一个Appender可对应一个Layout。
当用户存在对日志配置参数进行调整需求时,用户(或程序员)可在浏览器中输入Log4j的web服务器网址,通过访问该网址登录到加载有Log4j的web服务器中。用户可通过浏览器对Log4j的上述三个组件中的任意一个或多个组件的配置参数进行设置。用户在浏览器中输入日志配置参数时,Log4j管理后台根据用户输入的日志配置参数生成日志配置更新指令。
可选的,日志配置更新指令中携带有用户输入的日志配置参数。
可选的,日志配置更新指令包括下述至少一种参数:日志配置修改参数、日志配置添加参数、日志配置删除参数。
相应的,根据日志配置更新指令对日志配置数据库进行更新,可通过下述至少一种方式进行实施:
根据所述日志配置更新指令中携带的日志配置修改参数,修改所述日志配置修改参数对应的待修改日志配置参数;
根据所述日志配置更新指令中携带的日志配置添加参数,添加新的日志配置参数;
根据所述日志配置更新指令中携带的日志配置删除参数,删除所述日志配置删除参数对应的待删除日志配置参数。
调整需求包括对已有日志配置参数的修改需求、对已有日志配置参数的删除需求以及新建日志配置参数的添加需求。当存在修改需求时,生成的日志配置更新指令中包含日志配置修改参数,用于表示对某个已有日志配置参数进行修改,该参数包括待修改日志配置参数标识以及修改值。当存在删除需求时,生成的日志配置更新指令中包含日志配置删除参数,用于表示对某个已有日志配置参数进行删除,该参数包括待删除日志配置参数标识(如名称)。当存在添加需求时,生成的日志配置更新指令中包含日志配置添加参数,用于表示添加日志配置参数,该参数包括待添加的日志配置参数标识(如名称)以及参数值。
可选的,日志配置数据库中配置有日志配置信息表(又称Logger配置表)、日志输出控制配置表(又称Appender配置表)和日志输出格式配置表(又称Layout配置表)。其中,日志配置信息表(又称Logger配置表)包括项目标识(project)、项目名称和日志级别(level),日志输出控制配置表(又称Appender配置表)包括日志输出类型(type)和输出路径(path),日志输出格式配置表(又称Layout配置表)包括输出格式。上述三个配置表中均含有更新时间属性(u_time),用于保存该条记录(日志配置参数)的最新修改时间。
Logger配置表中项目名称为日志(logger)的名称,对应java类的包名。日志级别(level)的值可以为下述任意一个:OFF(关闭)FATAL(致命的)ERROR(错误)WARN(警告)INFO(信息)DEBUG(调试)ALL(所有)。
Appender配置表中日志输出类型(type)的值可以为下述任意一个:Console(控制台)File(文件)JDBC、JMS。输出路径(path)表示日志的存储地址。
Layout配置表中输出格式(pattern)的值可以为下述任意一个:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)、
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)、
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)、
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)。
进一步的,可在初始化阶段对日志配置数据库进行初始化,例如,在日志配置数据库中上述日志配置信息表、日志输出控制配置表和日志输出格式配置表。
步骤102、获取日志配置更新指令对应的至少一个目标项目节点。
现有技术中日志配置更新的对象为某一个节点(或服务器)。在一种实现方式中,本发明实施例的更新对象为目标项目对应的全部节点。例如,目标项目A涉及节点a、节点b和节点c,现有技术中由于用户所在终端的IP地址唯一,因此该地址通过哈希算法等地址映射后,只能够对节点a、节点b或节点c进行择一更新,即无法对与映射后的节点(如节点a)属于相同目标项目的其他节点(如节点b和节点c)进行日志配置更新,进而无法满足分布式系统的日志配置更新需求。本发明实施例可实现面向项目的日志配置更新,即在接收到用户输入的日志配置更新指令后,获取日志配置更新指令对应的全部目标项目节点,进而能够对全部目标项目节点进行日志配置更新。
可选的,步骤102可通过下属方式进行实施:
步骤1021、获取日志配置更新信息所属的目标项目。
根据日志配置更新指令指向的日志配置参数可确定该被指向的日志配置参数所在的项目标识(project),该项目标识(project)为目标项目的项目标识。
步骤1022、将与目标项目存在订阅关系的节点确定为目标项目节点。
可在项目生成时生成节点与项目的订阅关系,该订阅关系又称为映射关系,即属于同一个项目X的多个项目节点订阅均订阅项目X,以便当项目X的日志配置参数发生变化时,可根据订阅关系确定需要告知的目标项目节点。
步骤103、向至少一个目标项目节点发送第一消息,以便目标项目节点接收到第一消息时访问日志配置数据库进行日志配置信息的更新。
其中,第一消息表示存在日志配置更新需求。目标项目节点可以为服务器也可以为移动终端等用户设备。
第一消息可以为一个内容为空的具有特定信令标识的信息。目标项目节点接收到第一消息时,确定存在日志配置的更新需求。目标项目节点根据预存储的日志配置数据库地址访问日志配置数据库,根据日志配置数据库中已更新的日志配置信息对目标项目节点本地的日志配置信息进行更新。
可选的,第一消息中可携带有日志配置数据库的数据库地址信息,以便在目标项目节点中未预置日志配置数据库地址时,根据第一消息中携带的数据库地址信息对日志配置数据库进行访问。
图2为本发明实施例提供的另一种日志动态配置方法的流程图,图2所示方法为与图1所示方法匹配,图2所示方法可实施在目标项目节点中,该方法包括:
步骤201、当接收到第一消息时,读取数据库地址信息。
其中,第一消息表示存在日志配置信息更新需求。该数据库地址信息可以为预存的,也可以为从第一消息中解析得到的。
步骤202、根据数据库地址信息访问日志配置数据库。
其中,日志配置数据库中存储包括更新的日志配置信息。
步骤203、通过日志配置数据库获取更新的日志配置信息。
根据数据库地址信息可登录到日志配置数据库,通过数据库读写语言以及查询语言可获取到更新的日志配置信息。
示例性的,可使用Log plugin插件从数据库中加载最新的logger,然后刷新LoggerContext以使配置生效。
本发明实施例能够根据接收到的日志配置更新指令对日志配置数据库进行更新,然后获取相同项目下的全部目标项目节点,最后通知每个目标项目节点访问日志配置数据库进行日志配置的更新,在不关闭系统服务的同时实现日志配置的更新,提高服务稳定性。对于通过分布式设置的多个目标项目节点,能够实现对分布式节点的日志配置进行更新,提高分布式节点日志配置更新的可靠性。
本发明实施例提供的日志动态配置方法,除了能够达到上述有益效果,还能够为用户提供在线动态的日志级别配置,使得用户在定位程序问题时,可在不重启系统服务的前提下,将日志级别修改为DEBUG。或者,用户在遇到性能瓶颈时,可在不重启系统服务的前提下,将日志级别修改为ERROR,提高测试效率。此外,用户能够动态修改、增加或删除日志的输出地址或输出格式。提高用户操作的灵活性以及修改操作的全面性。
图3为本发明实施例提供的一种日志动态配置装置的结构示意图,该装置可位于日志管理后台服务器中,例如运行Log4j管理后台的服务器,用于实现图1所示的方法,如图3所示,该日志动态配置装置包括:更新指令接收模块11,用于接收日志配置更新指令;
数据库更新模块12,用于根据所述更新指令接收模块11接收到的所述日志配置更新指令对日志配置数据库进行更新;
目标节点获取模块13,用于获取所述日志配置更新指令对应的至少一个目标项目节点;
发送模块14,用于向所述目标节点获取模块13获取的所述至少一个目标项目节点发送第一消息,以便所述目标项目节点接收到所述第一消息时访问所述日志配置数据库进行日志配置信息的更新,所述第一消息表示存在日志配置更新需求。
进一步的,所述目标节点获取模块13用于:
获取所述日志配置更新信息所属的目标项目;
将与所述目标项目存在订阅关系的节点确定为目标项目节点。
进一步的,还包括数据库配置模块15;
所述数据库配置模块15用于,在所述日志配置数据库中配置日志配置信息表、日志输出控制配置表和日志输出格式配置表,其中,日志配置信息表包括项目标识、项目名称和日志级别,日志输出控制配置表包括日志输出类型和输出路径,日志输出格式配置表包括输出格式。
进一步的,所述日志配置更新指令包括下述至少一种参数:日志配置修改参数、日志配置添加参数、日志配置删除参数。相应的,所述数据库更新模块用于:
根据所述日志配置更新指令中携带的日志配置修改参数,修改所述日志配置修改参数对应的待修改日志配置参数;或者,根据所述日志配置更新指令中携带的日志配置添加参数,添加新的日志配置参数;或者,根据所述日志配置更新指令中携带的日志配置删除参数,删除所述日志配置删除参数对应的待删除日志配置参数。
图4为本发明实施例提供的另一种日志动态配置装置的结构示意图,该装置可位于项目节点中,用于实现图2所示的方法,如图4所示,该日志动态配置装置包括:
变更消息接收模块21,用于接收第一消息,所述第一消息表示存在日志配置信息更新需求;
地址读取模块22,用于当所述变更消息接收模块21接收到所述第一消息时,读取数据库地址信息;
数据库访问模块23,用于根据所述地址读取模块22读取的所述数据库地址信息访问日志配置数据库,所述日志配置数据库中存储包括更新的日志配置信息;
配置更新模块24,用于通过所述数据库访问模块23访问的所述日志配置数据库获取所述更新的日志配置信息。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述实施例所提供的方法。
图5为本发明实施例提供的一种日志动态配置系统的系统框图,该系统用于实现上述实施例所示的方法,包括:日志管理后台、配置中心、日志配置数据库以及与项目存在订阅关系的项目节点,其中,每个项目被至少一个项目节点订阅。
步骤301、日志管理后台接收用户输入的日志配置更新指令。
可选的,日志管理后台为Log4j管理后台。
步骤302、日志管理后台根据日志配置更新指令向日志配置数据库写入更新的日志配置信息。
可选的,日志管理后台根据日志配置更新指令确定更新的日志配置信息。然后,日志管理后台通过超文本传输协议(HyperText Transfer Protocol,http)向日志配置数据库发送更新的日志配置信息。
步骤303、日志配置数据库根据日志管理后台发送的更新的日志配置信息对已存储的日志配置数据进行更新。
示例性的,管理后台通过http请求修改Logger配置表,更新Logger的更新时间(u_time),并通过传输控制协议(Transmission Control Protocol,TCP)向配置中心发布一个节点变更事件。
示例性的,管理后台通过http请求修改Appender配置表,更新Appender的更新时间(u_time),并通过TCP向配置中心发布一个节点变更事件。
示例性的,管理后台通过http请求修改Layout配置表,更新Layout的更新时间(u_time),并通过TCP向配置中心发布一个节点变更事件。
步骤304、日志管理后台向配置中心发送日志更新事件。
可选的,日志管理后台通过传输控制协议TCP向配置中心发送(又称发布)日志更新事件。
由于TCP为传输层协议因此TCP的响应速度高于http的响应速度。为了提高实时性,通过TCP向配置中心发送日志更新事件能够更加安全、快捷的实现日志更新时间的通知。
步骤305、配置中心接收到日志更新事件时,从项目节点中获取日志配置更新指令对应的至少一个目标项目节点。
步骤306、配置中心向至少一个目标项目节点发送第一消息。
其中,第一消息表示存在日志配置更新需求。进一步的,配置中心向至少一个目标项目节点发送第一消息,包括:
配置中心通过传输控制协议TCP向至少一个目标项目节点发送第一消息。
步骤307、目标项目节点接收到第一消息时,读取数据库地址信息,并根据数据库地址信息访问日志配置数据库,通过日志配置数据库获取更新的日志配置信息。
配置中心通过TCP以第一消息的方式,通知目标项目节点中的Log plugin插件从数据库中加载最新的APPENDER,刷新LoggerContext以使配置生效。
目标项目节点可通过下述程序语言进行日志配置数据库的访问以及日志配置数据的更新:
//获取log4j2.xml的logger配置
LoggerContext ctx=(LoggerContext)LogManager.getContext(false);
Configuration config=ctx.getConfiguration();
Map<String,LoggerConfig>loggers=config.getLoggers();
//更新logger级别
logger.setLevel(level);
//刷新log配置
ctx.updateLoggers()。
需要说明的是,日志管理后台、配置中心和日志配置数据库的实现方式有多种,例如将上述三个部件全部配置到一网络侧服务器中;或者,将任意两个部件配置到一个网络侧服务器,将另一个部件配置到另一网络侧服务器中;或者,将三个部件分别配置到网络侧服务器中。上述网络侧服务器可以为实体硬件服务器也可以为例如虚拟机形式的虚拟服务器。
本发明实施例提供的日志动态配置系统能够根据通过log4j接收到的日志配置更新指令对日志配置数据库进行更新,然后获取相同项目下的全部目标项目节点,最后通知每个目标项目节点访问日志配置数据库进行日志配置的更新,在不关闭系统服务的同时实现日志配置的更新,提高服务稳定性。对于通过分布式设置的多个目标项目节点,能够实现对分布式节点的日志配置进行更新,提高分布式节点日志配置更新的可靠性。
本发明实施例提供的日志动态配置方法,除了能够达到上述有益效果,还能够为用户提供在线动态的日志级别配置,使得用户在定位程序问题时,可在不重启系统服务的前提下,将日志级别修改为DEBUG。或者,用户在遇到性能瓶颈时,可在不重启系统服务的前提下,将日志级别修改为ERROR,提高测试效率。此外,用户能够动态修改、增加或删除日志的输出地址或输出格式。提高用户操作的灵活性以及修改操作的全面性。
项目节点可以配置在服务器也可以配置在移动终端。本发明实施例提供一种项目节点(或目标项目节点)为移动终端时,节点的硬件结构设计。图6为本发明实施例提供的一种移动终端的结构示意图,该移动终端可以包括:壳体(图中未示出)、存储器801、中央处理器(Central Processing Unit,CPU)802(又称处理器,以下简称CPU)、存储在存储器801上并可在处理器802上运行的计算机程序、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU802和所述存储器801设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器801,用于存储可执行程序代码;所述CPU802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行:当接收到第一消息时,读取数据库地址信息;根据所述数据库地址信息访问日志配置数据库;通过所述日志配置数据库获取更新的日志配置信息。
所述移动终端还包括:外设接口803、RF(Radio Frequency,射频)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(I/O)子系统809、触摸屏812、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。
应该理解的是,图示移动终端800仅仅是移动终端的一个范例,并且移动终端800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于实现日志动态配置方法的移动终端进行详细的描述,该移动终端以手机为例。
存储器801,所述存储器801可以被CPU802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口803,所述外设接口803可以将设备的输入和输出外设连接到CPU802和存储器801。
I/O子系统809,所述I/O子系统809可以将设备上的输入输出外设,例如触摸屏812和其他输入/控制设备810,连接到外设接口803。I/O子系统809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
其中,按照触摸屏的工作原理和传输信息的介质分类,触摸屏812可以为电阻式、电容感应式、红外线式或表面声波式。按照安装方式分类,触摸屏812可以为:外挂式、内置式或整体式。按照技术原理分类,触摸屏812可以为:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏或表面声波技术触摸屏。
触摸屏812,所述触摸屏812是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。可选的,触摸屏812将用户在触屏幕上触发的电信号(如接触面的电信号),发送给处理器802。
I/O子系统809中的显示控制器8091从触摸屏812接收电信号或者向触摸屏812发送电信号。触摸屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸屏812上的用户界面对象的交互,即实现人机交互,显示在触摸屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路805,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。
音频电路806,主要用于从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。
扬声器811,用于将手机通过RF电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片808,用于为CPU802、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
在本实施例中,中央处理器802用于:当接收到第一消息时,读取数据库地址信息;根据所述数据库地址信息访问日志配置数据库;通过所述日志配置数据库获取更新的日志配置信息。
需要说明的是,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种日志动态配置方法,其特征在于,包括:
Web服务器当接收到日志配置更新指令时,根据所述日志配置更新指令对日志配置数据库进行更新;所述接收到日志配置更新指令,包括:用户在浏览器中访问Log4j的web服务器网址后,所述用户在所述浏览器中输入日志配置参数,根据所述用户输入的日志配置参数生成日志配置更新指令;
获取所述日志配置更新指令对应的至少一个目标项目节点,所述目标项目节点为目标项目对应的节点,所述目标项目节点为服务器或用户设备;
向所述至少一个目标项目节点发送第一消息,以便所述目标项目节点接收到所述第一消息时访问所述日志配置数据库进行日志配置信息的更新,所述第一消息表示存在日志配置更新需求;
目标项目节点当接收到第一消息时,读取数据库地址信息,所述第一消息表示存在日志配置信息更新需求;所述目标项目节点为目标项目对应的节点,所述目标项目节点为服务器或用户设备;
根据所述数据库地址信息访问日志配置数据库,所述日志配置数据库中存储包括更新的日志配置信息;
通过所述日志配置数据库获取所述更新的日志配置信息。
2.根据权利要求1所述的方法,其特征在于,所述获取所述日志配置更新指令对应的至少一个目标项目节点,包括:
获取所述日志配置更新信息所属的目标项目;
将与所述目标项目存在订阅关系的节点确定为目标项目节点。
3.根据权利要求1所述的方法,其特征在于,还包括:
在所述日志配置数据库中配置日志配置信息表、日志输出控制配置表和日志输出格式配置表,其中,所述日志配置信息表包括项目标识、项目名称和日志级别,所述日志输出控制配置表包括日志输出类型和输出路径,所述日志输出格式配置表包括输出格式。
4.根据权利要求1所述的方法,其特征在于,所述根据所述日志配置更新指令对日志配置数据库进行更新,包括:
根据所述日志配置更新指令中携带的日志配置修改参数,修改所述日志配置修改参数对应的待修改日志配置参数;或者,
根据所述日志配置更新指令中携带的日志配置添加参数,添加新的日志配置参数;或者,
根据所述日志配置更新指令中携带的日志配置删除参数,删除所述日志配置删除参数对应的待删除日志配置参数。
5.一种日志动态配置装置,其特征在于,包括Web服务器和目标项目节点,Web服务器包括更新指令接收模块、数据库更新模块、目标节点获取模块以及发送模块;所述目标项目节点为目标项目对应的节点,所述目标项目节点为服务器或用户设备,包括:变更消息接收模块、地址读取模块、数据库访问模块、配置更新模块;
更新指令接收模块,用于Web服务器接收日志配置更新指令;所述更新指令接收模块用于:用户在浏览器中访问Log4j的web服务器网址后,所述用户在所述浏览器中输入日志配置参数,根据所述用户输入的日志配置参数生成日志配置更新指令;
数据库更新模块,用于根据所述更新指令接收模块接收到的所述日志配置更新指令对日志配置数据库进行更新;
目标节点获取模块,用于获取所述日志配置更新指令对应的至少一个目标项目节点,所述目标项目节点为目标项目对应的节点,所述目标项目节点为服务器或用户设备;
发送模块,用于向所述目标节点获取模块获取的所述至少一个目标项目节点发送第一消息,以便所述目标项目节点接收到所述第一消息时访问所述日志配置数据库进行日志配置信息的更新,所述第一消息表示存在日志配置更新需求;
变更消息接收模块,用于接收第一消息,所述第一消息表示存在日志配置信息更新需求;
地址读取模块,用于当所述变更消息接收模块接收到所述第一消息时,读取数据库地址信息;
数据库访问模块,用于根据所述地址读取模块读取的所述数据库地址信息访问日志配置数据库,所述日志配置数据库中存储包括更新的日志配置信息;
配置更新模块,用于通过所述数据库访问模块访问的所述日志配置数据库获取所述更新的日志配置信息。
6.根据权利要求5所述的装置,其特征在于,所述目标节点获取模块用于:
获取所述日志配置更新信息所属的目标项目;
将与所述目标项目存在订阅关系的节点确定为目标项目节点。
7.根据权利要求5所述的装置,其特征在于,还包括数据库配置模块;
所述数据库配置模块用于,在所述日志配置数据库中配置日志配置信息表、日志输出控制配置表和日志输出格式配置表,其中,所述日志配置信息表包括项目标识、项目名称和日志级别,所述日志输出控制配置表包括日志输出类型和输出路径,所述日志输出格式配置表包括输出格式。
8.根据权利要求5所述的装置,其特征在于,所述数据库更新模块用于:
根据所述日志配置更新指令中携带的日志配置修改参数,修改所述日志配置修改参数对应的待修改日志配置参数;或者,
根据所述日志配置更新指令中携带的日志配置添加参数,添加新的日志配置参数;或者,
根据所述日志配置更新指令中携带的日志配置删除参数,删除所述日志配置删除参数对应的待删除日志配置参数。
9.一种日志动态配置系统,其特征在于,包括:日志管理后台、配置中心、日志配置数据库以及与项目存在订阅关系的项目节点,其中,每个项目被至少一个项目节点订阅;
所述日志管理后台接收用户输入的日志配置更新指令;所述日志管理后台接收用户输入的日志配置更新指令,包括:用户在浏览器中访问Log4j的web服务器网址后,所述用户在所述浏览器中输入日志配置参数,根据所述用户输入的日志配置参数生成日志配置更新指令;
所述日志管理后台根据所述日志配置更新指令向日志配置数据库写入更新的日志配置信息;
所述日志配置数据库根据日志管理后台发送的更新的日志配置信息对已存储的日志配置数据进行更新;
所述日志管理后台向所述配置中心发送日志更新事件;
所述配置中心接收到所述日志更新事件时,从项目节点中获取所述日志配置更新指令对应的至少一个目标项目节点,所述目标项目节点为目标项目对应的节点,所述目标项目节点为服务器或用户设备;
所述配置中心向所述至少一个目标项目节点发送第一消息,所述第一消息表示存在日志配置更新需求;
目标项目节点接收到第一消息时,读取数据库地址信息,并根据所述数据库地址信息访问日志配置数据库,通过所述日志配置数据库获取更新的日志配置信息。
10.根据权利要求9所述的系统,其特征在于,所述日志管理后台根据所述日志配置更新指令向日志配置数据库写入更新的日志配置信息,包括:
所述日志管理后台根据所述日志配置更新指令确定更新的日志配置信息;
所述日志管理后台通过超文本传输协议http向所述所述日志配置数据库发送所述更新的日志配置信息。
11.根据权利要求9所述的系统,其特征在于,所述日志管理后台向所述配置中心发送日志更新事件,包括:
所述日志管理后台通过传输控制协议TCP向所述配置中心发送日志更新事件。
12.根据权利要求9所述的系统,其特征在于,所述配置中心向所述至少一个目标项目节点发送第一消息,包括:
所述配置中心通过传输控制协议TCP向所述至少一个目标项目节点发送第一消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710029226.8A CN106802858B (zh) | 2017-01-16 | 2017-01-16 | 一种日志动态配置方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710029226.8A CN106802858B (zh) | 2017-01-16 | 2017-01-16 | 一种日志动态配置方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106802858A CN106802858A (zh) | 2017-06-06 |
CN106802858B true CN106802858B (zh) | 2020-09-29 |
Family
ID=58984632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710029226.8A Expired - Fee Related CN106802858B (zh) | 2017-01-16 | 2017-01-16 | 一种日志动态配置方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106802858B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622011A (zh) * | 2017-09-01 | 2018-01-23 | 惠州市德赛西威汽车电子股份有限公司 | 一种动态日志控制方法及系统 |
CN108804279A (zh) * | 2018-03-30 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 修改日志打印等级的方法及应用设备 |
CN109766239A (zh) * | 2018-12-25 | 2019-05-17 | 努比亚技术有限公司 | 日志输出控制方法、系统及计算机可读存储介质 |
CN110083509B (zh) * | 2019-04-30 | 2022-09-20 | 新华三信息安全技术有限公司 | 一种日志数据的规整方法及装置 |
CN110334071A (zh) * | 2019-05-30 | 2019-10-15 | 平安科技(深圳)有限公司 | log4j日志框架的属性配置方法、装置和计算机设备 |
CN111182066A (zh) * | 2019-12-31 | 2020-05-19 | 青梧桐有限责任公司 | 基于token认证的日志级别动态调整方法 |
CN112084261B (zh) * | 2020-09-03 | 2024-05-10 | 上海达梦数据库有限公司 | 一种数据同步方法、系统、节点及存储介质 |
CN112463751A (zh) * | 2020-11-02 | 2021-03-09 | 中国建设银行股份有限公司 | 一种日志处理方法、系统、装置、设备及存储介质 |
CN113641560B (zh) * | 2021-10-15 | 2021-12-31 | 山东亚华电子股份有限公司 | 一种日志动态监控方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521606A (zh) * | 2009-04-10 | 2009-09-02 | 北京星网锐捷网络技术有限公司 | 日志信息处理方法、日志服务器与通信系统 |
CN103309792A (zh) * | 2012-03-12 | 2013-09-18 | 联想(北京)有限公司 | 一种日志信息的控制方法及系统 |
CN103984621A (zh) * | 2014-04-01 | 2014-08-13 | 广州杰赛科技股份有限公司 | 日志分离方法和系统 |
CN105843822A (zh) * | 2015-01-16 | 2016-08-10 | 北京神州泰岳软件股份有限公司 | 一种修改日志级别的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698607B2 (en) * | 2015-05-19 | 2020-06-30 | Netapp Inc. | Configuration update management |
-
2017
- 2017-01-16 CN CN201710029226.8A patent/CN106802858B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521606A (zh) * | 2009-04-10 | 2009-09-02 | 北京星网锐捷网络技术有限公司 | 日志信息处理方法、日志服务器与通信系统 |
CN103309792A (zh) * | 2012-03-12 | 2013-09-18 | 联想(北京)有限公司 | 一种日志信息的控制方法及系统 |
CN103984621A (zh) * | 2014-04-01 | 2014-08-13 | 广州杰赛科技股份有限公司 | 日志分离方法和系统 |
CN105843822A (zh) * | 2015-01-16 | 2016-08-10 | 北京神州泰岳软件股份有限公司 | 一种修改日志级别的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106802858A (zh) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106802858B (zh) | 一种日志动态配置方法、装置及系统 | |
CN108345543B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN104794396B (zh) | 跨站式脚本漏洞检测方法及装置 | |
CN107204989B (zh) | 广告拦截方法、终端、服务器和存储介质 | |
CN111130891A (zh) | 一种服务器管理装置、方法及电子设备和存储介质 | |
JP2015510644A (ja) | サブ・デバイスの発見および管理 | |
CN114185491B (zh) | 一种分区文件的下载方法、装置、存储介质及计算机设备 | |
JP5132825B1 (ja) | ゲーム管理サーバ装置、ゲーム管理サーバ装置用プログラム、および、端末装置用プログラム | |
CN113420051A (zh) | 一种数据查询方法、装置、电子设备和存储介质 | |
JP2019091460A (ja) | IoTデバイス実行順序制御システム及びその制御方法 | |
CN114115895A (zh) | 一种代码查询方法、装置、电子设备和存储介质 | |
US8880578B2 (en) | Hardware independent simple network management protocol based on a generic data collection scheme | |
CN108427549B (zh) | 通知消息的声音处理方法、装置、存储介质及终端 | |
CN106648738B (zh) | 一种分身应用管理方法、装置及终端 | |
CN106953970A (zh) | 应用网络资源起播闹钟的方法、装置及音频播放设备 | |
CN113742716B (zh) | 代码运行方法、装置、电子设备、存储介质和程序产品 | |
CN109145182B (zh) | 数据采集方法、装置、计算机设备及系统 | |
CN115589432A (zh) | 消息推送管理方法、装置、介质及设备 | |
CN104156227B (zh) | 调用底层库的方法及装置 | |
CN109413714B (zh) | 用户代理信息的处理方法、装置、存储介质及终端 | |
CN108509223B (zh) | 一种数据处理方法、装置、系统及存储介质 | |
CN113341929A (zh) | 电子控制单元标定数据管理系统、方法、装置及设备 | |
CN106294553B (zh) | 数据信息发送及封套信息显示方法、装置、音箱和终端音箱 | |
US20230394008A1 (en) | Distributed file access method and related device | |
CN118069115A (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 | ||
CB02 | Change of applicant information |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200929 |
|
CF01 | Termination of patent right due to non-payment of annual fee |