CN106155864A - 一种扩展Apache Log4j日志输出级别的方法 - Google Patents

一种扩展Apache Log4j日志输出级别的方法 Download PDF

Info

Publication number
CN106155864A
CN106155864A CN201610620703.3A CN201610620703A CN106155864A CN 106155864 A CN106155864 A CN 106155864A CN 201610620703 A CN201610620703 A CN 201610620703A CN 106155864 A CN106155864 A CN 106155864A
Authority
CN
China
Prior art keywords
daily record
syst
record output
level
class
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
Application number
CN201610620703.3A
Other languages
English (en)
Other versions
CN106155864B (zh
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.)
Beijing VRV Software Corp Ltd
Original Assignee
Beijing VRV Software Corp 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 Beijing VRV Software Corp Ltd filed Critical Beijing VRV Software Corp Ltd
Priority to CN201610620703.3A priority Critical patent/CN106155864B/zh
Publication of CN106155864A publication Critical patent/CN106155864A/zh
Application granted granted Critical
Publication of CN106155864B publication Critical patent/CN106155864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3086Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves the use of self describing data formats, i.e. metadata, markup languages, human readable formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种扩展Apache Log4j日志输出级别的方法,包含:在日志等级类中自定义日志输出常量类型“string”,其值为“SYST”;在日志输出优先级类中自定义日志输出优先级常量类型为int,其值为60000;在日志等级类中构造静态的日志等级类;在日志等级类中扩展to level方法以添加将日志名称转换为日志等级的业务;在日志记录器类的输出通道中添加SYST(object message)以及SYST(object message,throwable t)方法用于最终日志输出。通过本发明的上述方法,可以实现本发明的在现有日志级别上扩展相应级别以实现可控的日志输出的目的。

Description

一种扩展Apache Log4j日志输出级别的方法
技术领域
本发明涉及程序日志输出领域,尤其涉及一种扩展Apache Log4j日志输出级别的方法。
背景技术
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等。
Log4j现在只具有5种正常日志记录器(logger)级别,包括:DEBUG Level输出应用程序细粒度的日志信息;INFO level输出应用程序粗粒度的日志信息;WARN level输出应用程序可能会出现潜在错误的日志信息;ERROR level输出应用程序发生错误的事件;FATAL level输出应用程序发生严重错误事件会导致应用程序退出。
另外,还包括两种特别的日志记录级别:最低级日志级别ALL Level,用于打开所有日志记录;最高级日志级别OFF Level,用于关闭所有的日志记录。
日志记录器(Logger)的行为是分等级的,OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL是Log4j自带的日志级别,优先级从左至右由高到底,通过在应用程序中定义这些级别,可以控制到应用程序中相应级别的日志信息开关。如在应用程序中定义了ERROR级别,则所有的WARN、INFO、DEBUG级别的日志信息将不被输出。
由于现有的日志输出有严格的级别限制,如在项目实施中,应用程序想在ERROR级别时,输出一些程序运行过程中的关键步骤和业务信息时,现有的日志级别就不能很好的满足于这种需求。
发明内容
为了能实现在不同日志级别时,应用程序都能输出可控的日志信息,本发明在现有的日志级别上扩展了相应的级别,从而实现了可控的日志输出。本发明提供的方法通过以下步骤示出:
步骤一,在日志等级类中自定义日志输出常量类型“string”,其值为“SYST”;
步骤二,在日志输出优先级类中自定义日志输出优先级常量类型为int,其值为60000;
步骤三,在日志等级类中构造静态的日志等级类,其用于表示当前自定义日志等级的日志输出优先级、日志输出名称、系统日志等级;
步骤四,在日志等级类中扩展to level方法以添加将日志名称转换为日志等级的业务;
步骤五,在日志记录器类的输出通道中添加SYST(object message)以及SYST(object message,throwable t)方法用于最终日志输出。
进一步地,步骤一通过以下语句实现:prvate static final String SYST_NAME=“SYST”。
进一步地,步骤二通过以下语句实现:public static final int SYST_INT=60000。
进一步地,步骤三通过以下语句实现:public static final Level SYST=newLevel(SYST_INT,SYST_NAME,7)。
进一步地,日志输出优先级常量值高于Apache Log4j中的FATAL_INT优先级常量值。
通过上述方法,可以实现本发明的在现有日志级别上扩展相应级别以实现可控的日志输出的目的,并具有以下有益效果:
通过对Log4j源代码业务的扩展,解决了项目在生产环境中在不同日志级别下,程序执行业务流程的跟踪输出,通过对改造后的源代码的打包编译,形成一个公共的软件开发工具包(SDK),使得以后在项目需求中有类似需求的工程可以直接引入使用。
附图说明
图1为使用本申请的扩展Apache Log4j日志输出级别的方法的流程图。
具体实施方式
以下通过具体的实施例对本发明的扩展Apache Log4j日志输出级别的方法进行进一步说明,应当理解的是,以下具体的实施例中所记载的内容仅用于进一步阐明本发明的上述方法,而不应理解为对本发明的方法的限制。
参考附图1,其示出了本申请的扩展Apache Log4j日志输出级别的方法的流程图。在图1的框101处,通过语句prvate static final String SYST_NAME=“SYST”在日志等级(Level)类中自定义日志输出常量类型“string”,其值为“SYST”。随后在框102处,通过语句public static final int SYST_INT=60000在日志输出优先级(Priority)类中自定义日志输出优先级常量类型为int,其值为60000,该日志输出优先级常量值高于Apache Log4j中的FATAL_INT优先级常量值。接着在框103处,通过语句public static final LevelSYST=new Level(SYST_INT,SYST_NAME,7)在日志等级类中构造静态的日志等级类,其用于表示当前自定义日志等级的日志输出优先级、日志输出名称、系统日志等级。接着在框104处,在日志等级类中扩展to level方法以添加将日志名称转换为日志等级的业务。最后在框105处,在日志记录器(Logger)类的输出通道中添加SYST(object message) 以及SYST(object message,throwable t)方法用于最终日志输出。
通过上述方式完成Apache Log4j日志输出级别的扩展后,如以下语句所示配置Log4j.properties文件,在其中调整Log4j.rootlogger=ERROR,CONSOLE,FILE:
配置完成后,如下所示运行日志输出程序:
运行日志输出程序可以得到以下输出结果:
从上述的执行步骤及输出结果可以看到,通过本发明的方法在日志级别为ERROR时,扩展的SYST日志类型的日志得到了完整的输出。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (5)

1.一种扩展Apache Log4j日志输出级别的方法,其特征在于,所述方法包含以下步骤:
步骤一,在日志等级类中自定义日志输出常量类型“string”,其值为“SYST”;
步骤二,在日志输出优先级类中自定义日志输出优先级常量类型为int,其值为60000;
步骤三,在所述日志等级类中构造静态的日志等级类,其用于表示当前自定义日志等级的日志输出优先级、日志输出名称、系统日志等级;
步骤四,在所述日志等级类中扩展to level方法以添加将日志名称转换为日志等级的业务;
步骤五,在日志记录器类的输出通道中添加SYST(object message)以及SYST(objectmessage,throwable t)方法用于最终日志输出。
2.如权利要求1所述的扩展Apache Log4j日志输出级别的方法,其特征在于,
所述步骤一通过以下语句实现:prvate static final String SYST_NAME=“SYST”。
3.如权利要求1所述的扩展Apache Log4j日志输出级别的方法,其特征在于,所述步骤二通过以下语句实现:public static final int SYST_INT=60000。
4.如权利要求1所述的扩展Apache Log4j日志输出级别的方法,其特征在于,所述步骤三通过以下语句实现:public static final Level SYST=new Level(SYST_INT,SYST_NAME,7)。
5.如权利要求1所述的扩展Apache Log4j日志输出级别的方法,其特征在于,所述日志输出优先级常量值高于所述Apache Log4j中的FATAL_INT优先级常量值。
CN201610620703.3A 2016-07-29 2016-07-29 一种扩展Apache Log4j日志输出级别的方法 Active CN106155864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610620703.3A CN106155864B (zh) 2016-07-29 2016-07-29 一种扩展Apache Log4j日志输出级别的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610620703.3A CN106155864B (zh) 2016-07-29 2016-07-29 一种扩展Apache Log4j日志输出级别的方法

Publications (2)

Publication Number Publication Date
CN106155864A true CN106155864A (zh) 2016-11-23
CN106155864B CN106155864B (zh) 2018-10-16

Family

ID=57328258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610620703.3A Active CN106155864B (zh) 2016-07-29 2016-07-29 一种扩展Apache Log4j日志输出级别的方法

Country Status (1)

Country Link
CN (1) CN106155864B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815089A (zh) * 2016-12-23 2017-06-09 北京五八信息技术有限公司 基于日志的故障排查方法及装置
CN107025163A (zh) * 2017-03-31 2017-08-08 北京商办通互联网科技有限公司 一种被动式生产、消费计算机日志的需求实现方法及系统
CN111897787A (zh) * 2020-06-17 2020-11-06 航天信息股份有限公司 一种面向业务逻辑实现日志输出的方法及装置
US11449411B2 (en) 2020-06-02 2022-09-20 Red Hat, Inc. Application-specific log routing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106594A1 (en) * 2007-10-19 2009-04-23 International Business Machines Corporation Method and Device for Log Events Processing
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
CN105224436A (zh) * 2015-10-29 2016-01-06 曙光信息产业股份有限公司 一种服务器运行状态监控方法及装置
CN105653427A (zh) * 2016-03-04 2016-06-08 上海交通大学 基于行为异常检测的日志监控方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106594A1 (en) * 2007-10-19 2009-04-23 International Business Machines Corporation Method and Device for Log Events Processing
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
CN105224436A (zh) * 2015-10-29 2016-01-06 曙光信息产业股份有限公司 一种服务器运行状态监控方法及装置
CN105653427A (zh) * 2016-03-04 2016-06-08 上海交通大学 基于行为异常检测的日志监控方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张桐: "基于RMI的日志管理系统在GF生产线系统中的应用", 《中国优秀硕士学位论文全文数据库》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815089A (zh) * 2016-12-23 2017-06-09 北京五八信息技术有限公司 基于日志的故障排查方法及装置
CN107025163A (zh) * 2017-03-31 2017-08-08 北京商办通互联网科技有限公司 一种被动式生产、消费计算机日志的需求实现方法及系统
US11449411B2 (en) 2020-06-02 2022-09-20 Red Hat, Inc. Application-specific log routing
CN111897787A (zh) * 2020-06-17 2020-11-06 航天信息股份有限公司 一种面向业务逻辑实现日志输出的方法及装置

Also Published As

Publication number Publication date
CN106155864B (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
CN106155864A (zh) 一种扩展Apache Log4j日志输出级别的方法
CN105912473B (zh) 基于bdd的移动app自动测试平台和测试方法
CN103853807B (zh) 一种电力故障可视化分析方法
CN109634600B (zh) 一种基于安全扩展SysML和AADL模型的代码生成方法
CN104407980A (zh) 移动应用自动化测试装置和方法
CN104991863A (zh) 一种基于功能块图测试模型自动生成测试用例的方法
CN102567201A (zh) 跨模型的图形用户界面测试脚本自动修复方法
CN104899043B (zh) 采用模块安全性分析获取软件安全性需求的方法
US20160034275A1 (en) Coding convention discovery and enforcement
CN103425812B (zh) 半导体器件设计系统及其使用方法
CN109976803A (zh) 一种文件的生成方法及装置
CN108469955A (zh) 一种基于注解的Android注入框架
CN110502591A (zh) 一种数据提取方法、装置及设备
CN112805984B (zh) 用于部署增量网络更新的系统
CN103699478A (zh) 一种测试案例生成系统和方法
CN109101234A (zh) 确定页面与业务模块之间对应关系的方法及装置
CN103810365A (zh) 一种基于水电仿真培训系统自动评分的方法
CN106776275B (zh) 一种基于分组复用的测试流程自动生成方法
CN108153745B (zh) 一种应用数据调用方法及应用开发系统
CN107291605A (zh) 一种系统日志的处理方法及系统
CN108009092A (zh) 一种车载网络管理通用测试用例协议的设计方法
CN107766253A (zh) 一种基于模型变更的自动维护测试脚本的方法
Anderson et al. Toward Provenance-Based Security for Configuration Languages.
US20200233784A1 (en) Systems and Methods for Quality Control of an Enterprise IT Environment
CN103559094A (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
GR01 Patent grant
GR01 Patent grant