log4j在java的web项目中怎么用的,如何配置等等。。

Python019

log4j在java的web项目中怎么用的,如何配置等等。。,第1张

在web.xml中添加配置:

<!-- 配置log4j配置文件的路径,可以是xml或 properties(此参数必须配)-->

下面使用了classpath 参数指定log4j.properties文件的位置,这样log4j的配置文件就不用非要放到src的下面:

<context-param>

<param-name>log4jConfigLocation</param-name>

<param-value>classpath:config/log4j/log4j.properties</param-value>

</context-param>

使用spring的监听器,当应用启动时来读取log4j的配置文件

<listener>

<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

</listener>

java使用日志文件log4j的方法:

1、 新建一个Java工程,导入Log4j包,pom文件中对应的配置代码如下:

<!-- log4j support -->

<dependency>

   <groupId>log4j</groupId>

   <artifactId>log4j</artifactId>

   <version>1.2.17</version>

</dependency>

2、resources目录下创建log4j.properties文件

### 设置###

log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###

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

log4j.appender.stdout.Target = System.out

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

log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=/home/duqi/logs/debug.log ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = /home/duqi/logs/debug.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = DEBUG

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

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=/home/admin/logs/error.log ###

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender

log4j.appender.E.File =/home/admin/logs/error.log

log4j.appender.E.Append = true

log4j.appender.E.Threshold = ERROR

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

log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

3、输出日志的例子如下

package com.javadu.log

import org.slf4j.Logger

import org.slf4j.LoggerFactory

public class Log4JTest {

   private static final Logger logger = LoggerFactory.getLogger(Log4JTest.class)

   public static void main(String[] args) {

       // 记录debug级别的信息

       logger.debug("This is debug message.")

       // 记录info级别的信息

       logger.info("This is info message.")

       // 记录error级别的信息

       logger.error("This is error message.")

   }

}

4、输出结果

首先,控制台输入如下图所示:

然后,查看/Users/duqi/logs目录下的debug.log和error.log文件,内容分别如下,可以看出: