`

log4j配置补充

阅读更多

Log4j组件构成 

 

Log4j由三个重要的组件构成:

 

1.日志信息的优先级(Logger)

2.日志信息的输出目的地(Appender)

3.日志信息的输出格式(Layout)。

 

概要:

 

日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;

 

日志信息的输出目的地指定了日志将打印到控制台还是文件中;

 

而输出格式则控制了日志信息的显示内容。

 

Log4j介绍

 

  Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式,通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。log4j--log for java (java的日志) .

 

Log4j下载地址: http://logging.apache.org/log4j/2.x/download.html

 

 

Log4j配置文件的格式

 

Log4j支持两种配置文件格式:

 

1. XML格式的文件

2. properties格式的文件

 

也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。

 

 

 

Log4j定义配置文件

 

1.配置根Logger

 

其语法为: 

log4j.rootLogger = [ level ] , appenderName, appenderName, …

 

参数说明:  

 

level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。

 

Off: 最高等级,用于关闭所有日志记录

 

Fatal: 指出每个严重的错误事件将会导致应用程序的退出。

 

Error: 指出虽然发生错误事件,但仍然不影响系统的继续运行。

 

Warn: 表明会出现潜在的错误情形

 

Info: 一般用在粗粒度级别上,强调应用程序的运行全程

 

Debug: 一般和在粗粒度级别上,强调应用程序的运行全程。

 

All: 最低等级,用于打开所有日志记录。

 

Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。

 

appenderName就是指日志信息输出到哪个地方,可以同时指定多个输出目的地。

 

 

 

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有以下几种:

 

  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平台为“rn”,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)

 

%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。

 

%%: 输出一个”%”字符 %F: 输出日志消息产生时所在的文件名称

 

%L: 输出代码中的行号

 

%m: 输出代码中指定的消息,产生的日志具体信息

 

%n: 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。

 

如:

 

1) c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。

 

2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。

 

3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。

 

 

 

4) .30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。

 

 

 

本文摘自:http://www.cnblogs.com/dennisit/archive/2013/01/01/2841603.html

分享到:
评论

相关推荐

    log4j使用手册和API chm格式

    - "Log4j手册.pdf":这份PDF文档可能是Log4j的手册或教程,可能包含更广泛的使用场景和最佳实践,也可能是对CHM文件的补充或不同版本的文档。 **知识点详解** 1. **Log4j简介**:Log4j是Apache软件基金会的一个...

    apache-log4j-extras-1.0.jar

    在给定的压缩包中,包含两个核心文件:`log4j-1.2.15.jar` 和 `apache-log4j-extras-1.0.jar`,这两个文件都是Log4j框架的扩展和补充。 1. **log4j-1.2.15.jar**: 这是Log4j的核心库,版本为1.2.15。Log4j的主要...

    Log4E 注册码 Log4J在Eclipse上插件

    它基于Apache Log4j框架设计,旨在简化Java应用程序的日志记录过程,并提供了一个用户友好的图形界面来配置日志设置。这使得开发者可以更轻松地管理和调整其应用程序的日志级别、输出格式以及目标输出位置等。 ####...

    Log4J用法,log4j操作手册

    早期版本中可能还会见到`log4j.rootCategory`的配置,这是由于早期版本中使用`Category`类实现记录器功能,但随着框架发展,`Logger`类取代了`Category`,因此推荐使用`log4j.rootLogger`进行配置。 ##### 定义额外...

    struts2.3.20和log4j1.2.9完整开发jar包

    6. **log4j-1.2.9.jar**:Log4j的核心库,提供日志记录服务,包括配置日志级别、输出目的地(控制台、文件、数据库等)以及自定义日志格式。 7. **ognl-3.0.6.jar**:Object-Graph Navigation Language,Struts2中...

    对上次项目的补充(日志输出、其他配置方式)

    对于日志输出,MyBatis提供了两种主要方式:一是通过配置logImpl属性,直接指定使用的日志实现,如`<settings logImpl="LOG4J" />`;二是通过在类路径下放置对应的日志实现库,MyBatis会自动检测并使用。日志输出...

    java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    在介绍具体的log4j配置之前,我们先理解一下log4j的基本工作原理。log4j是由Apache提供的一个日志记录库,它允许开发者记录日志信息到不同的目的地。log4j支持多种日志输出目的地,比如控制台、文件、网络套接字等。...

    ssm框架,aop,mybatis,log4j所需的jar.rar

    在给定的"ssm框架,aop,mybatis,log4j所需的jar.rar"压缩包中,包含了这四个关键组件的jar文件。Spring的jar文件包含了核心容器、AOP模块以及与SpringMVC相关的组件。SpringMVC的jar文件主要用于处理HTTP请求和...

    Log4cxx windows 可直接编译工程

    首先,`log4cxx`是Apache软件基金会的一个开源项目,它是Java的Log4j库的C++版本。Log4cxx提供了一套灵活的日志记录系统,支持多种输出方式,如文件、数据库、SMTP等,并且具有丰富的日志级别和布局选项,便于进行...

    log4cxx源代码(apache-log4cxx+apr+apr-util+sed)

    log4cxx是Apache软件基金会开发的一个C++版的日志框架,它是基于Java的log4j的移植。这个库提供了灵活的日志记录功能,允许开发者在不同级别(如DEBUG, INFO, WARN, ERROR, FATAL)记录日志信息,支持多种输出方式,...

    syslog4j-0.9.46.zip

    6. **日志记录接口**:syslog4j提供了简单的API接口,可以方便地集成到任何Java应用程序中,替代或补充现有的日志框架,如Log4j或java.util.logging。 7. **性能优化**:syslog4j考虑了性能和效率,设计了高效的...

    RED5配置文件详解

    4. **/conf/log4j.properties**:全局的日志配置,控制日志级别和输出位置。若需要在特定webapp中自定义日志配置,可以修改此文件。 5. **/conf/red5-net.xml**:配置Mina和启动Jetty。端口等设置应通过`red5....

    lidalia-slf4j-ext:SLF4J的常见补充

    SLF4J(Simple Logging Facade for Java)是Java日志框架的一个接口层,它为各种日志实现提供了一个统一的API,如Log4j、java.util.logging等。Lidalia SLF4J扩展则是对SLF4J功能的一个增强,提供了更多的特性,以...

    jquery-1.7.1.min&1.3.2文件及common struts等jar包

    Log4j的配置文件可以方便地定制日志格式和存储位置,对于调试和监控应用状态非常有用。 3. **Struts** JAR包: Struts是Apache软件基金会的一个开源MVC框架,用于构建基于Java的Web应用程序。它遵循Model-View-...

    struts2.1.6解决乱码 补充

    这些参数指定了Log4j配置文件以及Spring应用上下文的配置文件位置。 通过上述配置,我们可以有效地解决Struts2.1.6中的乱码问题。需要注意的是,在实际开发中可能还需要考虑其他因素,比如数据库连接、JSP页面编码...

    bonecp相关所有jar包

    4. **slf4j-log4j12-1.6.1.jar**:这是SLF4J的一个绑定实现,它将SLF4J接口与Log4j日志系统连接起来。这意味着BoneCP可以通过SLF4J接口使用Log4j进行日志输出,方便调试和监控数据库连接池的运行状态。 5. **bonecp...

    imageio-1.1.jar、org.slf4j.api_1.6.4、swingx-1.0

    2. **org.slf4j.api_1.6.4.jar**:SLF4J(Simple Logging Facade for Java)是一个日志门面,为各种日志框架提供一个简单的抽象层,例如logback、log4j等。SLF4J使得最终用户能够在部署时插入所需的日志框架。org....

    常用jar包补充

    一个日志抽象层,允许用户在部署时插入所需的日志实现,如Log4j、Java Util Logging等。 3. **Log4j**: 是一个广泛使用的日志记录框架,提供了丰富的日志记录功能和灵活的配置。 4. **Guava**: Google提供的...

    FTP配置指导

    - **2.3.10 J: 修改vsftpd2.conf**: 调整虚拟用户的特定配置。 #### 三、vsFTP服务器的维护与优化 除了基本配置之外, 还可以通过以下方法进一步优化和维护vsFTP服务器: **3.1 限制用户访问** - `chroot_local_...

    Hibernate初学笔记

    - 需要配置日志实现库,如`log4j-1.2.16.jar`和`slf4j-log4j12-1.5.2.jar`或`slf4j-nop-1.5.8.jar`。 - 版本一致性很重要,例如如果使用的是`slf4j-api-1.5.8.jar`,则`slf4j-nop-1.5.8.jar`也应保持一致。 - **...

Global site tag (gtag.js) - Google Analytics