Log4j基础应用
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
一、定义配置文件
其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:
1.配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指B日志信息输出到哪个地方。您可以同时指定多个输出目的地。
2.配置日志信息输出目的地Appender,其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN
其中,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.option = valueN
其中,Log4j提供的layout有以e几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下: %m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
二、在代码中使用Log4j
1.得到记录器
使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:
public static Logger getLogger( String name)
通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:
static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )
2.读取配置文件
当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:
[list=] BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。
PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。
DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。[/list]
3.插入记录信息(格式化日志信息)
当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
分享到:
相关推荐
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-...而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中
本套Java视频教程详细讲解了代理设计模式的用法。分别讲述了静态代理、JDK动态代理,及CGLIB动态代理的用法,及应用场景对比。此套Java视频教程适合Java初学者,为以后的学习打下坚实基础。
读者注意:这套视频语音讲解中引述的《软件开发课堂 - Java Web基础与案例开发详解》,即后来...10Log4j的应用 11JUint 12Ant的应用 13CVS的应用 14留言管理系统 15电子相册管理系统 16网上商店JpetStore 17传智博客BBS
4、项目实战篇: Extjs3.2+ASP.NET七层架构+设计模式+ log4j+WebSerice等技术国讯教育通用智能OA办公平台 适用对象 1、要求有一定的javascript语言和HTML,CSS基础的学员 2、有一定的Asp.net网页编程基础和C#语言...
第2篇JSP高级技术分为7章,深入剖析了主流的Web开发框架,包括EL表达式语言、JSTL、自定义标签、Log4j、Hibernate、Spring框架;第3篇Java Web技术应用分为5章,介绍具体场景下的应用案例,包括注册登录模块的应用、...
> * log4j.jar 1.2以上 > * fastjson-1.2.0.jar > * sword-lang-1.2 (https://github.com/sword-org/sword-lang/releases) > * fluent-hc-4.3.6.jar(httpclient依赖) > * httpclient-4.3.6.jar > * ...
课课家觉得log5j在log4j的基础上提供了几个改进,应该说是简单和实用的封装。有趣的是log5j主页对自己名字的解释,因为要感谢JDk 1.5,所以才叫了这个名字。 更多log5j信息 JFinal 事件驱动插件 JFinal-...
推荐完整精品J2EE课件 JavaEE程序设计与应用开发教程 19 log4j和Ant(共25页).ppt 推荐完整精品J2EE课件 JavaEE程序设计与应用开发教程 20 DOM和SAX(共33页).ppt 推荐完整精品J2EE课件 JavaEE程序设计与应用开发...
logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。 logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能。 ...
网站开发指南 清华大学出版社 1章 JSP技术简介 2章 JSP语法 3章 JSP内置对象 4章 Servlet技术介绍 ...23章 使用Log4j进行Web应用的日志管理与程序调试 24章 使用XDoclet简化JSP 25章 使用Ant管理JSP Web应用
主要包括JavaWeb开发基础、HTML与CSS网页开发基础、JavaScript基础、JSP基本语法、JSP隐式对象、JDBC技术应用、Servlet技术应用、JavaBean、标准动作与标准标签库、AJAX技术应用、Struts2技术应用、网站的安全、Log4...
第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...
非常优秀的java及javaweb教程,how2j全站教程,包括java基础、java初级、java高级、java应用、前端技术,包括html、css、JavaScript、HTML DOM、json、ajax、jquery、bootstrap、vue.js、node.js、webpack、chartjs...
第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...
第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...
Elasticsearch(elasticsearch-7.16.2-darwin-x86_64.tar.gz适用于macOS 系统)是一个高度可扩展的开源全文本搜索和分析引擎。...它通常用作支持具有复杂搜索功能和要求的应用程序的基础引擎/技术。
【完整课程列表】 01 JavaEE介绍和环境配置(共30页) 02 JDBC(共45页) 03 JSP基础编程(共46页) 04 JSP内置对象(共48页) ...19 log4j和Ant(共25页) 20 DOM和SAX(共33页) 上机习题(共5页)
第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...
在本书架构讲解的过程中,分别使用并讲解了JDBC、Log4j、Sitemesh、JUnit技术。 一本java web学习的好教材,影印版,清晰度保质保量,共809页,压缩成7個文件,爲了区分别的压缩文件,我在文件名后面增加(hyit2004),...
主要内容包括:tomcat和java web开发的基础知识、java web开发的高级技术、在java web应用中运用第三方提供的实用软件(如struts、velocity和log4j)的方法,以及tomcat的各种高级功能。 书中内容注重理论与实践相...