博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Spring项目中使用Log4j记录日志
阅读量:6709 次
发布时间:2019-06-25

本文共 3614 字,大约阅读时间需要 12 分钟。

(1)引入log4j的jar包:

官网下载地址:

(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测试
本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1877595,如需转载请自行联系原作者
你可能感兴趣的文章
angular 7报错
查看>>
svn 删除svn项目命令
查看>>
linux知识点集锦
查看>>
任务与函数
查看>>
SCRUM MASTER检查单
查看>>
数据库设计中常见表结构的设计技巧
查看>>
13.Zookeeper的java客户端API使用方法
查看>>
ThinkPHP/---隐藏index.php
查看>>
局域网
查看>>
javascript之encodeURI
查看>>
Python中type和object
查看>>
总结一下有关css选择器方面的知识:
查看>>
(HW)rod cutting(Java)
查看>>
jq挑战30天——模拟电子鼓+小程序
查看>>
IKE协议
查看>>
浏览器同部署了https的服务器交互的过程
查看>>
redis写shell与ssh免密码登陆
查看>>
2013337朱荟潼 Linux第三章读书笔记——进程管理
查看>>
《大话设计模式》读书笔记-第9章 原型模式
查看>>
排序五:快速排序
查看>>