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 ) ;
分享到:
相关推荐
### Log4J基础详解及示例大全 #### 一、Log4J概述 Log4J是一种广泛应用于Java应用程序中的开源日志记录框架。它能够帮助开发者有效地管理应用程序的日志记录功能,提供丰富的日志级别、多种输出目的地以及灵活的...
Log4j是Apache软件基金会的一个开源项目,提供了一个强大的日志记录框架,广泛应用于Java应用程序中。它的主要功能是帮助开发者记录程序运行过程中的各种信息,以便于调试和问题追踪。然而,这次的2.0及以上版本的...
Log4j基础概念** Log4j由三个主要组件构成:Logger(日志器)、Appender(输出器)和Layout(布局)。Logger负责记录日志信息,Appender定义日志的输出目的地,如控制台、文件、数据库等,而Layout则决定日志信息...
Log4j是Apache组织开发的一款广泛使用的Java日志框架,它为Java应用程序提供了一种灵活且强大的日志记录机制。Log4j的各个版本在功能、性能和安全性方面都有所不同,下面将详细介绍这些版本及其特点。 1. Log4j ...
#### 四、log4j的核心组件 log4j的核心组件主要包括**Loggers(记录器)**、**Appenders(输出源)**和**Layouts(布局)**。 1. **Loggers (记录器)**:负责生成日志信息,并决定是否发送日志信息到Appenders。记录器...
标题"Log4j简单使用"表明我们即将探讨的是日志记录库Log4j的基础应用。Log4j是Apache软件基金会开发的一个开源项目,它为Java应用程序提供了一个灵活的日志系统,允许开发者自定义日志级别、输出格式以及存储位置等...
通常,一本完整的手册会包括以下几个部分:介绍Log4j的基础知识、详细说明如何配置和使用Log4j、示例和最佳实践、高级配置技巧、性能优化建议、以及Log4j的二次开发等方面内容。读者可以根据个人需要,找到对应章节...
这个jar文件包含了Log4j 1.2.17的所有类和资源,是使用Log4j的基础。在Java应用程序中,我们通常会将log4j-1.2.17.jar添加到项目的类路径中,以便调用其API进行日志记录。例如,通过以下代码创建一个名为"DEBUG"的...
Log4j2是一款广泛使用的Java日志记录框架,它的核心在于提供高效、灵活的日志记录...总的来说,这两个jar文件是构建和运行Log4j2日志系统的基础,它们共同确保了日志记录的效率和灵活性,是Java开发者必备的工具之一。
下面是一个基础的`log4j.properties`配置示例: ```properties # 设置全局日志级别为INFO log4j.rootLogger=INFO, stdout, FILE # 控制台输出 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j....
通过Log4j,开发者可以在各种语言环境中实现一致的日志记录行为,极大地提高了跨平台应用的日志管理效率。此外,Log4j还可以与J2EE、JINI、SNMP等不同类型的系统进行整合,增强了其在复杂分布式环境中的适应性。 ...
Log4j作为Java日志处理的重要工具,通过其灵活的配置和强大的功能,可以帮助开发者更好地理解和管理应用的运行状态。1.2.17版本的Log4j jar包和`log4j.properties`配置文件是实现这一目标的基础。正确地引入和配置这...
首先,让我们了解Java和log4j2的基础。Java是一种广泛使用的面向对象的编程语言,具有平台无关性,这使得它成为构建跨平台应用程序的理想选择。Log4j2是Apache的一个开源项目,它为Java应用程序提供了一种灵活的日志...
在Log4j的上下文中,`log4j.dtd`是Log4j配置文件(通常命名为`log4j.properties`或`log4j.xml`)的DTD,它定义了配置文件中可以使用的元素、属性及其结构,确保配置文件的合法性。 在Log4j的配置文件中,我们可以...
在Spring项目中配置log4j是一项基础且重要的工作,它能帮助我们记录应用程序的运行日志,便于调试、排查问题和性能分析。Log4j是一个广泛使用的Java日志框架,提供灵活的日志记录功能。接下来,我们将详细讲解如何在...
在IT行业中,日志记录是调试和监控应用程序的关键部分,而Log4j是Java平台广泛使用的日志框架。本文将详细讨论如何解决Log4j日志文件出现的乱码...在实际开发中,正确配置Log4j的字符编码是一项基础但至关重要的任务。
Log4j是Apache组织提供的一款开源的日志记录框架,广泛应用于Java开发中。在标题“log4j实例,log4j-1.2.9.jar”中,我们看到的是Log4j的一个具体版本——1.2.9。这个版本虽然相对较旧,但它仍然是许多现有项目的...
`Log4j`作为一款优秀的日志管理工具,被广泛应用于Java应用程序中。然而,在不同的开发环境下,日志文件的存储路径往往需要根据实际情况进行调整,这不仅增加了维护成本,还可能导致日志丢失或错误记录。因此,采用...
以上内容详细介绍了Log4j.jar的核心组件和log4j.xml配置文件的作用,它们共同构成了Log4j日志框架的基础。通过合理的配置和使用,Log4j能够为开发者提供强大且灵活的日志管理能力,帮助他们更好地监控和维护Java应用...
Log4j2的API模块提供了基础的日志接口,如`Logger`, `Level`, `Appender`, `Layout`等。开发者通过这些接口来记录日志,而无需关心具体的实现细节。API的目的是为了保持与具体实现(如Core组件)的解耦,使得更换或...