log4j1.2.15英文教程http://www.tutorialspoint.com/log4j/log4j_quick_guide.htm
本篇博客参考http://www.codejava.net/frameworks/spring/how-to-use-log4j-in-spring-mvc
步骤如下:

添加依赖

1
2
3
4
5
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

新建log4j配置文件

注:此处针对myeclipse环境
在src/main/resources目录下新建log4j.properties配置文件,如下

log4j.properties文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
# LOG4J configuration
log4j.rootLogger=INFO, Appender1, Appender2

log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

log4j.appender.Appender2=org.apache.log4j.FileAppender
log4j.appender.Appender2.File=D:/Logs/SpringMVC.log
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

以上配置也可通过XML完成。在src/main/resources目录下新建log4j.xml,包含如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="Appender1" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-7p %d [%t] %c %x - %m%n"/>
</layout>
</appender>

<appender name="Appender2" class="org.apache.log4j.FileAppender">
<param name="File" value="D:/Logs/SpringMVC2.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-7p %d [%t] %c %x - %m%n"/>
</layout>
</appender>

<root>
<priority value="INFO"/>
<appender-ref ref="Appender1" />
<appender-ref ref="Appender2" />
</root>

</log4j:configuration>

到此为止,log4j已经配置完成。

测试

在src/main/java目录下新建一个LogTest类,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
package com.simon.log4jdemo;

import org.apache.log4j.Logger;

public class LogTest {
private static Logger logger = Logger.getLogger(LogTest.class);

public static void main(String[] args) {
logger.info("this is info");
logger.error("this is error");
}
}

LogTest.java右键,选择Run As——>Java Application,控制台输出如下