在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 Categorylog4j.rootLogger=debug,stdout,D,E#Consolelog4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n#DEBUGlog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = ${catalina.base}/logs/debug.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n#ERRORlog4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File =${catalina.base}/logs/error.loglog4j.appender.E.Append = truelog4j.appender.E.Threshold = ERRORlog4j.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 Categorylog4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUGlog4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUGlog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUGlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUG#WS Logger for reportinglog4j.logger.WS=INFO,WSlog4j.appender.WS=org.apache.log4j.DailyRollingFileAppender log4j.appender.WS.File=${catalina.base}/logs/ws.loglog4j.appender.WS.layout=org.apache.log4j.PatternLayoutlog4j.appender.WS.DatePattern ='.'yyyy-MM-dd log4j.appender.WS.layout.ConversionPattern=%d-[ws] %p %t %c - %m%n #Other Loggerlog4j.logger.org.springframework=INFOlog4j.logger.com.ibatis.db=INFO log4j.logger.net.sf.json=ERRORlog4j.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;@Controllerpublic 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测试 |
在Spring项目中使用Log4j记录日志的更多相关文章
- Spring boot中使用log4j记录日志
之前在Spring Boot日志管理一文中主要介绍了Spring Boot中默认日志工具(logback)的基本配置内容.对于很多习惯使用log4j的开发者,Spring Boot依然可以很好的支持, ...
- Spring Boot中对log4j进行多环境不同日志级别的控制
之前介绍了在<Spring boot中使用log4j记录日志>,仅通过log4j.properties对日志级别进行控制,对于需要多环境部署的环境不是很方便,可能我们在开发环境大部分模块需 ...
- Tomcat日志、项目中的log4j日志、e.printStackTrace()——我的日志最后到底跑哪去了?
1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat ...
- Tomcat日志、项目中的log4j日志、控制台——我的日志最后到底跑哪去了?
1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat ...
- spring 项目中在类中注入静态字段
有时spring 项目中需要将配置文件的属性注入到类的静态字段中 例如:文件上传 //文件上传指定上传位置 //resource-dev.properties 有如下参数 #upload UPLOAD ...
- java web项目(spring项目)中集成webservice ,实现对外开放接口
什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring ...
- 在java项目中使用log4j的实例
测试log4j的项目结构 Log4j.properties的路径为 src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个 ...
- Java项目中使用log记录日志的一些总结
本文介绍了一下自己在Java项目中使用log的一些总结,从日志的作用.日志的选用.日志级别介绍.日志记录的一些最佳实践几个方面阐述. 日志的作用 主要作用包括: 1.出问题后定位当时问题 2.显示程序 ...
- spring项目中使用定时任务
当我们希望在某个时间点来执行一些业务方法的时候就用到定时任务,在spring的项目中使用定时任务很简单.如下 第一步.加入jar包 <dependency> <groupId> ...
随机推荐
- innodb insert buffer 插入缓冲区的理解
今天在做一个大业务的数据删除时,看到下面的性能曲线图 在删除动作开始之后,insert buffer 大小增加到140.对于这些状态参数的说明 InnoDB Insert Buffer 插入缓冲,并不 ...
- zookeeper 笔记
http://www.biaodianfu.com/zookeeper.html ======= ---- zookeeper这种数据结构有如下这些特点: 1,每个子目录如NameService都被作 ...
- a+=b 是什么意思?
a+=b或者-=,*=等等就是相当于a=a+b;简写而已,没什么特殊含义此外还有a++/a--相当于a=a+1/a=a-1
- Mono addin 学习笔记 3
典型的基于Mono addin插件框架的应用程序有以下一个部分组成: 1. 主应用程序:提供了一系列的扩展点(Extension Point)供其他应用进行扩展: 2. 扩展插件: 其部署结构图如下为 ...
- math汇总
**** 1/(1^2) + 1/(2^2) + … + 1/(n^2)会收敛到pi^2/6,当n的数位大于6位数字时,最后的结果就是pi^2/6 ****** &的大作用 1.先看看这个n= ...
- js实现图片的淡入淡出
思想: 其实是运动的一种,就是当鼠标移入div中时,将div的透明度变大, 当鼠标移动出来的时候透明度变回原来. 你可以尝试写一下,不会再看看代码 <style> #div1{ width ...
- 按钮的Default Button属性
如果在窗体上放置一个文本输入框,放置一个按钮,并将按钮default属性设置为True,那么在文本输入框获是焦点时输入Enter键,回车,自动相当于点击按钮.一个窗口只能有一个默认按钮. 这样按回车就 ...
- python序列化: json & pickle & shelve 模块
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...
- 二模01day1解题报告
T1.音量调节(changingsounds) 有n个物品的背包(有点不一样,每个物品必须取),给出初始价值,物品价值可正可负(就是两种选择嘛),求可能的最大价值,不可能(<0或>maxs ...
- golang 格式化时间为字符串
package main import ( "fmt" "reflect" "time" ) func main() { //格式化字符串为 ...