使用Log4J可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程。
Logger(日志记录器)
控制要启用或禁用哪些日志记录语句,并对日志信息进行级别限制。Logger被指定为实体,由一个String类的名字识别。Logger的名字是大小写敏感的,且名字之间具有继承关系,子名用父名作为前缀,用点“.”分隔,例如x.y是x.y.z的父级。root Logger(根Logger)是所有Logger的祖先,它总是存在的而且不可以通过名字获得。
配置root Logger的语法为:
log4j.rootLogger=[log level],appenderName,appenderName,...
配置自定义Logger组件的语法为:
log4j.logger.loggerName=[log level],appenderName,appenderName,...
每个Logger都一个日志级别(log level),用来控制日志信息的输出。
排序 | 级别 | 说明 |
A | off | 最高等级,用于关闭所有日志记录。 |
B | fatal | 指出每个严重的错误事件将会导致应用程序的退出。 |
C | error | 指出虽然发生错误事件,但仍然不影响系统的继续运行。 |
D | warm | 表明会出现潜在的错误情形。 |
E | info | 一般和在粗粒度级别上,强调应用程序的运行全程。 |
F | debug | 一般用于细粒度级别上,对调试应用程序非常有帮助。 |
G | all | 最低等级,用于打开所有日志记录。 |
上面这些级别是定义在org.apache.log4j.Level类中。Log4j只建议使用4个级别,优先级从高到低分别是error,warn,info和debug。通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。例如,如果使用info级别,则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来。
Appenders(输出端)
用来指定日志信息输出到哪个地方,可以同时指定多个输出目的地。Log4j允许将信息输出到许多不同的输出设备中,一个log信息输出目的地就叫做一个Appender。
每个Logger都可以拥有一个或多个Appender,每个Appender表示一个日志的输出目的地。可以使用Logger.addAppender(Appender app)为Logger增加一个Appender,也可以使用Logger.removeAppender(Appender app)为Logger删除一个Appender。
输出设备 | 说明 |
org.apache.log4j.ConsoleAppender | 将日志信息输出到控制台。 |
org.apache.log4j.FileAppender | 将日志信息输出到一个文件。 |
org.apache.log4j.DailyRollingFileAppender | 将日志信息输出到一个日志文件,并且每天输出到一个新的日志文件。 |
org.apache.log4j.RollingFileAppender | 将日志信息输出到一个日志文件,并且指定文件的尺寸,当文件大小达到指定尺寸时,会自动把文件改名,同时产生一个新的文件。 |
org.apache.log4j.WriteAppender | 将日志信息以流格式发送到任意指定地方。 |
org.apache.log4j.jdbc.JDBCAppender | 通过JDBC把日志信息输出到数据库中。 |
Layout(日志布局)
输出布局 | 说明 |
HTMLLayout | 格式化日志输出为HTML表格形式 |
SimpleLayout | 以一种非常简单的方式格式化日志输出,它打印三项内容:级别-信息 |
PatternLayout | 根据指定的转换模式格式化日志输出,或者如果没有指定任何转换模式,就使用默认的转化模式格式。 |
如果使用PatternLayout布局就要指定的打印信息的具体格式
log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n
参数 | 说明 |
[QC] | 是log信息的开头,可以为任意字符,例如项目简称。 |
%p | 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL。 |
%d | 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 |
%r | 输出自应用启动到输出该log信息耗费的毫秒数 |
%c | 输出日志信息所属的类目,通常就是所在类的全名 |
%t | 输出产生该日志事件的线程名 |
%l | 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10) |
%x | 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 |
%% | 输出一个"%"字符 |
%F | 输出日志消息产生时所在的文件名称 |
%L | 输出代码中的行号 |
%m | 输出代码中指定的消息,产生的日志具体信息 |
%n | 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: |
%20 | 指定输出项最小的宽度是20,如果小于20的话,默认的情况下右对齐。 |
%-20 | 指定输出项最小的宽度是20,如果小于20的话,默认的情况下左对齐。"-"号指定左对齐。 |
%.30 | 指定输出项最大的宽度是30,如果大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 |
%20.30 | 如果输出项宽度小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边开始截取字符。 |
相关推荐
### Log4j配置与加载方法详解 Log4j是一款由Apache出品的日志记录工具,它提供了灵活的日志级别控制和多样化的日志输出方式,广泛应用于Java应用的开发中。本文将深入解析log4j的配置与加载机制,帮助开发者更好地...
log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档log4j配置文档
Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j
### log4j配置与使用方法 #### 一、log4j简介 log4j是Apache的一个开源项目,通过使用log4j,开发者能够控制日志信息的生成、等级以及输出的目的地。它允许用户根据不同的环境调整日志的级别,从而帮助开发者在...
在`Log4j配置文件详细说明[转].htm`和`Log4j配置文件详细说明[转]_files`这两个文件中,应包含了更详细的实例和说明,可以帮助深入理解每个属性的实际作用和配置方法。在实践中,不断试验和调整,你会发现Log4j是一...
Log4j 配置文件说明 Log4j 是一种流行的日志记录工具,用于记录和管理应用程序中的日志信息。配置文件是 Log4j 的核心组件之一,通过配置文件可以控制日志记录的级别、输出目的地和格式。在本文中,我们将详细介绍 ...
**Log4j配置实例** Log4j是一款广泛使用的Java日志框架,它为应用程序提供了灵活的日志记录功能。本文将深入探讨Log4j的配置及其实际应用,帮助开发者更好地理解和利用这一工具。 **1. Log4j概述** Log4j是由...
### log4j配置详解 #### 一、log4j简介 Log4j 是一个开源的日志记录工具,它允许开发者自定义日志级别并能够输出丰富的日志信息。本篇文章将详细解读 log4j 的基本配置及使用方法,非常适合初学者理解和掌握。 ##...
### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...
压缩包中的"**log4j配置说明及所需jar包**"包含了Log4j的库文件,包括`log4j.jar`和其他可能的依赖。确保将这些JAR包添加到项目的类路径(Classpath)中,这样你的程序才能正确识别并使用Log4j。 **四、代码示例** ...
Log4j的配置通常通过一个XML或properties格式的配置文件完成,例如`log4j.properties`或`log4j.xml`。以下是一个基本的`log4j.properties`配置示例: ```properties # 设置根日志器的级别为INFO log4j.rootLogger=...
完整的log4j配置文件
在项目资源目录下创建`log4j.properties`配置文件,这是Log4j读取配置信息的地方。我们需要添加以下内容: ```properties # 设置根logger级别 log4j.rootLogger=DEBUG, DB # 配置DB Appender log4j.appender...
log4j配置文件例子,可以让你轻松配置log4j
Java程序log4j配置详解 log4j是一个流行的Java日志记录工具,提供了灵活的日志记录和管理功能。在Java程序中,log4j配置正确是非常重要的,本文将详细介绍log4j配置的各个方面。 一、log4j配置文件 log4j的配置...
### Log4j配置文件详解 #### 一、概述 Log4j是一款开源的日志记录工具,广泛应用于Java应用程序中。其强大的配置灵活性使得开发者能够轻松地定制日志记录的细节,如日志级别、输出目的地及日志信息的格式等。本文...
**Log4J配置实例(XML格式)** Log4J是一款广泛应用的日志记录框架,它为Java应用程序提供了灵活的日志记录功能。在Java开发中,日志记录是必不可少的一部分,可以帮助开发者跟踪程序运行状态,定位错误和调试代码...
《深入理解log4j:配置与实践》 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态,定位问题。Log4j是Apache的一个开源项目,提供了一种灵活且强大的日志记录解决方案。然而,值得注意的是...
《深入理解Log4j配置文件》 在Java开发中,日志记录是不可或缺的一部分,而Log4j作为一款广泛使用的日志框架,以其强大的功能和灵活性深受开发者喜爱。本篇文章将详细探讨一个感觉还不错的Log4j配置文件,旨在帮助...