`
xm_koma
  • 浏览: 384924 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

log4j配置步骤及说明

    博客分类:
  • Java
 
阅读更多

 

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可以以key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。

一、说明使用的步骤和配置的含义:

1. 配置文件
Log4J配置文件的基本格式如下:

 

#配置根Logger
log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  …

#配置日志信息输出目的地Appender
log4j.appender.appenderName  =  fully.qualified.name.of.appender.class 
  log4j.appender.appenderName.option1  =  value1 
  … 
  log4j.appender.appenderName.optionN  =  valueN 

#配置日志信息的格式(布局)
log4j.appender.appenderName.layout  =  fully.qualified.name.of.layout.class 
  log4j.appender.appenderName.layout.option1  =  value1 
  … 
  log4j.appender.appenderName.layout.optionN  =  valueN 

其中 [level] 是日志输出级别,如下:

OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL

 

Appender 为日志输出目的地,Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

如果指定appender为RollingFileAppender,那么还可以配置

#文件的最大size

log4j.appender.SPIFD.MaxFileSize=5MB 

#最多备份的文件数 
log4j.appender.SPIFD.MaxBackupIndex=10

 

Layout:日志输出格式,Log4j提供的layout有以下几种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

当Layout设置为PatternLayout时,可以灵活的指定布局,如下:

  %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.properties:

在CLASSPATH下建立log4j.properties,配置内容如下:

log4j.rootLogger=INFO, stdout , R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern= [TS] %p [%t] %C.%M(%L) | %m%n

 

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.File=路径/R-name.log

log4j.appender.R.Threshold=INFO

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n

 

log4j.logger.com.java.hx.common=INFO,R

log4j.logger.org.springframework=ERROR

 

 

三、对于几个特定的地方做一个详细说明:

1、有很多地方讲到rootLogger,还有的地方配置的是rootCategory。查看了下资料,Log4j官方的API中这样描述:

 

public class Categoryextends java.lang.Objectimplements AppenderAttachable

This class has been deprecated and replaced by the Logger subclass. It will be kept around to preserve backward compatibility until mid 2003.

Logger is a subclass of Category, i.e. it extends Category. In other words, a logger is a category. Thus, all operations that can be performed on a category can be performed on a logger. Internally, whenever log4j is asked to produce a Category object, it will instead produce a Logger object. Log4j 1.2 will never produce Category objects but only Logger instances. In order to preserve backward compatibility, methods that previously accepted category objects still continue to accept category objects.

For example, the following are all legal and will work as expected.

       // Deprecated form:
   Category cat = Category.getInstance("foo.bar")

   // Preferred form for retrieving loggers:
   Logger logger = Logger.getLogger("foo.bar")

The first form is deprecated and should be avoided.

There is absolutely no need for new client code to use or refer to the Category class. Whenever possible, please avoid referring to it or using it.

See the short manual for an introduction on this class.

See the document entitled preparing for log4j 1.3 for a more detailed discussion.

 

 

Author:
Ceki Gülcü, Anders Kristensen
大概意思就是希望以后改为rootLogger(从1.2版本以后),当然如果继续配置为rootCategory,也不会报错。
只是最好尽量回避使用rootCategory。
2、log4j.appender.C.Threshold的使用很灵活,可以在appender中再次声明打印级别,比如在rootLogger中设置为:DEBUG,在appender中再次利用Threshold设置为INFO,那么该appender对应的文件中log的日志会将DEBUG级别的信息过滤掉。

 

 

分享到:
评论

相关推荐

    log4j集成syslog配置说明

    #### log4j配置 在Java应用中,我们可以通过修改`log4j.properties`文件来集成syslog。具体步骤如下: 1. 在`log4j.rootLogger`中增加一个新的appender,例如命名为`syslog`。 2. 设置appender的相关属性: ```...

    tomcat下的log4j日志配置

    2. **配置全局 Log4j 属性文件**:在任意位置创建 `log4j.properties` 文件,并设置全局的日志级别、输出格式及存储路径等。通常会将该文件放置在 Tomcat 的 `conf` 目录下。 ```properties log4j.rootLogger=...

    SSM整合中的Log4j日志的配置详情

    在 SSM 整合项目中,配置 Log4j.properties 文件是必不可少的步骤。该文件通常存放在项目的 src/main/resources 目录下。下面是一个基本的 Log4j.properties 配置文件: ``` log4j.rootLogger=DEBUG,console,file ...

    log4j配置及使用

    《深入理解log4j:配置与实践》 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态,定位问题。Log4j是Apache的一个开源项目,提供了一种灵活且强大的日志记录解决方案。然而,值得注意的是...

    Eclipse 环境下 log4j配置说明及所需jar包.rar

    本文主要围绕"Eclipse环境下log4j配置说明及所需jar包"这一主题,详细阐述log4j的使用、配置以及所需依赖。 首先,log4j是Apache的一个开源项目,提供了一个灵活的日志框架,广泛应用于Java应用程序中。它的核心...

    log4j详细配置说明

    ### Log4j 详细配置说明 #### 一、Log4j 简介与特性 在当前强调可重用组件的软件开发环境中,Apache 的 Log4j 为开发者提供了强大的日志管理工具。Log4j 不仅开源免费,还具备高度的灵活性与可配置性,支持多种...

    log4j及配置文件

    三、Log4j配置文件 Log4j的灵活性很大程度上体现在其配置文件中,通常命名为`log4j.properties`或`log4j.xml`。配置文件定义了日志记录的行为,包括日志级别、输出目的地、格式等。在提供的`log4j.txt`文件中,我们...

    log4j配置与使用方法

    ### log4j配置与使用方法 #### 一、log4j简介 log4j是Apache的一个开源项目,通过使用log4j,开发者能够控制日志信息的生成、等级以及输出的目的地。它允许用户根据不同的环境调整日志的级别,从而帮助开发者在...

    tomcat6 配置log4j步骤

    将 Log4j 的 `.jar` 文件及配置文件放入 Tomcat 的 `lib` 目录中: - **log4j.jar** - **log4j.properties** 具体步骤如下: 1. 将 `log4j.jar` 复制到 Tomcat 的 `lib` 目录下。 2. 创建或修改 `log4j....

    配置Log4J的一般步骤

    ### 配置Log4J的一般步骤 #### 一、简介 Log4J是一个流行的Java日志框架,用于记录应用程序的运行状态。通过合理的配置,它可以有效地帮助开发人员追踪问题并进行性能分析。本文将详细介绍如何配置Log4J,包括下载...

    [简单]log4jdbc-log4j2配置简记

    配置log4jdbc-log4j2主要包括以下几个步骤: 1. 添加依赖:在项目中引入log4jdbc-log4j2和log4j2的依赖库,通常是在pom.xml文件中添加对应的Maven坐标或在build.gradle文件中添加Gradle依赖。 2. 配置数据源:在...

    log4j 配置mysql 数据库 demo

    以下是配置步骤: 1. **配置Log4j.properties文件** 在项目资源目录下创建`log4j.properties`配置文件,这是Log4j读取配置信息的地方。我们需要添加以下内容: ```properties # 设置根logger级别 log4j.root...

    log4j的详细配置

    配置Log4J是关键步骤,因为它决定了日志的输出级别、输出目的地、输出格式等多个方面。下面将详细介绍Log4J的配置。 **配置文件** Log4J的配置文件一般以.properties或.xml格式存在,用于定义日志行为。基本的配置...

    Log4j WebSphere V7 配置说明

    这样,Log4j就应该能够正常工作,日志将会按照你在Log4j配置文件中指定的方式输出,而不是被WebSphere接管。 总结来说,配置Log4j在WebSphere V7上运行,需要解决的是WebSphere内置日志系统与Log4j之间的冲突,通过...

    log4j(二):动态配置日志输出路径

    在Web应用中,如使用的是Servlet环境,可以通过在`web.xml`中配置`ContextLoaderListener`来加载Log4j配置,同时,我们还可以创建一个Servlet,当接收到特定请求时,更新Log4j配置。 ```xml <!-- web.xml 示例 --> ...

    log4j使用jar包和log4j.properties配置文件

    本文将详细探讨Log4j的使用,主要关注1.2.17版本的jar包以及配置文件`log4j.properties`。 ### 1. Log4j简介 Log4j是一个开源的日志组件,支持多种输出格式,如控制台、文件、数据库等。它的核心概念包括Logger、...

    log4j与log4j.properties的配置.doc

    在本文中,我们将详细介绍 Log4j 的配置,包括配置步骤、log4j.properties 配置文件、日志输出级别、appenders 和 layouts 等。 一、配置步骤 要使用 Log4j,需要遵循以下配置步骤: 1. 在应用程序中使用 Log4j,...

    Log - Log4j - log4j.properties配置文件

    总结,理解并熟练使用`log4j.properties`配置文件,是掌握Log4j的关键步骤。通过合理配置,我们不仅可以获取到所需的日志信息,还能优化系统的资源使用,确保应用程序的健康运行。同时,将Log4j与ORM框架如Hibernate...

    Spring项目中怎么配置log4j

    最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml <param-name>log4jConfigLocation ...

Global site tag (gtag.js) - Google Analytics