在Spring项目中使用Log4j记录日志

(1)引入log4j的jar包:

官网下载地址:http://logging.apache.org/log4j/1.2/download.html

(2)在web.xml中添加log4j配置:


1

2

3

4

5

6

7

8

<context-param>

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

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

</context-param>

<context-param>

    <param-name>log4jRefreshInterval</param-name>

    <param-value>60000</param-value>

</context-param>

(3)log4j属性文件log4j.properties:


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

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

#Root Category

log4j.rootLogger=debug,stdout,D,E

#Console

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

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

log4j.appender.D.File = ${catalina.base}/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

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

log4j.appender.E.File =${catalina.base}/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

#IBATIS Category

log4j.logger.com.ibatis=DEBUG

log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG

log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

log4j.logger.java.sql.ResultSet=DEBUG

#WS Logger for reporting

log4j.logger.WS=INFO,WS

log4j.appender.WS=org.apache.log4j.DailyRollingFileAppender    

log4j.appender.WS.File=${catalina.base}/logs/ws.log

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

log4j.appender.WS.DatePattern  =‘.‘yyyy-MM-dd    

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

#Other Logger

log4j.logger.org.springframework=INFO

log4j.logger.com.ibatis.db=INFO  

log4j.logger.net.sf.json=ERROR

log4j.logger.org.apache.cxf=DEBUG,WS

注:我这里的配置文件并不是很好,仅供参考

(4)测试:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

package cn.zifangsky.controller;

import org.apache.log4j.Logger;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class TestController {

    private static Logger logger = Logger.getLogger(TestController.class);

    

    @RequestMapping("/test.html")

    public void test(){

        logger.info("info测试");

        logger.debug("debug测试 ");

        logger.error("error测试");

    }

}

控制台输出如下:


1

2

3

4

5

6

[INFO ] 2016-11-06 18:01:28,000 method:cn.zifangsky.controller.TestController.test(TestController.java:13)

info测试

[DEBUG] 2016-11-06 18:01:28,007 method:cn.zifangsky.controller.TestController.test(TestController.java:14)

debug测试 

[ERROR] 2016-11-06 18:01:28,007 method:cn.zifangsky.controller.TestController.test(TestController.java:15)

error测试

debug.log文件:


1

2

3

2016-11-06 18:01:28  [ http-apr-9180-exec-10:0 ] - [ INFO ]  info测试

2016-11-06 18:01:28  [ http-apr-9180-exec-10:7 ] - [ DEBUG ]  debug测试 

2016-11-06 18:01:28  [ http-apr-9180-exec-10:7 ] - [ ERROR ]  error测试

error.log文件:


1

2016-11-06 18:01:28  [ http-apr-9180-exec-10:7 ] - [ ERROR ]  error测试

时间: 2024-12-21 19:07:34

在Spring项目中使用Log4j记录日志的相关文章

项目中记录log4j记录日志

1. 导入如上 log下的对应jar包 2. 在src下新建log4j.properties文件,类容如(详细配置:http://www.cnblogs.com/suman/archive/2010/10/23/1858864.html ) 3.编写代码 import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Log log = LogFactory.getLog( this .ge

Tomcat日志、项目中的log4j日志、控制台——我的日志最后到底跑哪去了?

1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat日志无关. --如果你项目中的log4j指定打印到控制台,并且你开启的tomcat有控制台,那么这个时候你可以在控制台观察到日志. --如果你用log4j来处理了Tomcat的日志(具体需要你自己配置tomcat的配置文件),那么Tomcat便会使用log4j来打印,但是这和你项目中的log4j仍然

java web项目(spring项目)中集成webservice ,实现对外开放接口

什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring兼容性较好的cxf来实现 cxf 的  jar下载地址: http://cxf.apache.org/download.html 选择zip格式下载,解压后的lib目录下的jar 需要最少的jar如下: cxf-2.3.3.jargeronimo-annotation_1.0_spec-1.1.1.

使用junit4测试spring项目中service方法

使用junit4测试项目中service方法 1 import java.util.HashMap; 2 import java.util.List; 3 import java.util.Map; 4 5 import javax.annotation.Resource; 6 7 import org.junit.Test; 8 import org.junit.runner.RunWith; 9 import org.springframework.test.context.ContextC

在spring项目中,普通类注入获取Bean,实现ApplicationContextAware接口

在平时spring项目中,某个不能注入Bean的项目中要获取Bean. @Component public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext = null; public SpringUtil() { } public void setApplicationContext(ApplicationContext arg0

在Spring的项目中配置Log4j存放日志文件到指定目录下

在Spring中使用LOG4J为日志输出的插件已有一段日子了,但有时候发现日志文件虽然是已经在根据自己的理想存放了,但还会有些莫名其妙的项目日志文件出现tomcat内(因为项目的日志文件都以项目命名嘛,所以比较容易区分这些log).这些令我纠结的日志文件,让我在改善一下LOG4J的配置.才发现,之前用的配置方式真是弱爆了. 1.先说自己比较理想的存放日志路径. 我比较喜欢把日志文件放在项目的WEB-INF下,然后当然有个文件夹叫logs.logs相信很多人都会存在在这样的目录下,但放在WEB-I

在java项目中使用log4j的实例

测试log4j的项目结构 Log4j.properties的路径为    src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个输出目的地,一个是A3,一个是console log4j.rootLogger = INFO,A3,CONSOLE //日志最低的输出级别 log4j.appender.A3.Threshold=INFO log4j.appender.A3.encoding=UTF-8 //每天产生一个文件Dail

在Spring项目中使用@Scheduled注解定义简单定时任务

如题所示,有时候我们需要在Web项目中配置简单的定时任务,而且因为任务并不复杂不想使用定时调度框架(PS:Quartz.ActiveMQ .Kafka等),这时就可以考虑使用@Scheduled注解来定义简单的定时任务.其全部配置如下: (1)在Spring的配置文件中添加定时任务相关配置: xml配置的头文件中添加: xmlns:task="http://www.springframework.org/schema/task" 以及在xsi:schemaLocation中添加: ht

项目中添加Log4J支持

首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Appender及Layout的分别使用.Log4j支持两种配置文件格式,一种是XML格式的文件,一种是java properties(key=value)[Java特性文件(键=值)].(这里只说明properties文件) 1.配置根Logger 其语法为: log4j.rootLogger = [ lev