Spring集成log4j日志管理
Spring集成log4j日志管理 .原文地址:http://blog.csdn.net/naruto1021/article/details/7969535在使用Spri
Spring集成log4j日志管理 .
原文地址:http://blog.csdn.net/naruto1021/article/details/7969535
在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理。
进行配置之前,首先得下载jar包(log4j-1.2.11.jar)
配置如下:
1.在web.xml中最上面加入如下配置代码:
?
<!--log4j配置文件加载--> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <!--启动一个watchdog线程每1800秒扫描一下log4j配置文件的变化--> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>1800000</param-value> </context-param> <!--spring log4j监听器--> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
2.把log4j.properties配置文件放在上面配置的指定的目录下
?
log4j.properties配置文件:
?
[plain] view plaincopyprint?
- ######################################??#?????????log4j配置相关说明??
- ######################################????
- #%p?输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL???#%r?输出自应用启动到输出该log信息耗费的毫秒数???
- #%c?输出所属的类目,通常就是所在类的全名???#%t?输出产生该日志事件的线程名??
- #%m?输出代码中指定的信息???#%n?输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”???
- #%d?输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy?MM?dd?HH:mm:ss,SSS},输出类似:?2002年10月18日?22:10:28,921???#%l?输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)???
- ??#log4j提供4种布局:???
- #org.apache.log4j.HTMLLayout(以HTML表格形式布局)??#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),??
- #org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),??#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息??
- ??#log4j中有五级logger?输出级别:??
- #FATAL?0???#ERROR?3???
- #WARN?4???#INFO?6???
- #DEBUG?7????
- ######################################??#??????????log4j相关配置??
- ######################################????
- #日志输出级别??log4j.rootLogger=INFO,stdout,other??
- ??#设置stdout的日志输出控制台??
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender??#输出日志到控制台的方式,默认为System.out??
- log4j.appender.stdout.Target?=?System.out??#设置使用灵活布局??
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout??#灵活定义输出格式??
- log4j.appender.stdout.layout.ConversionPattern=[%p][%d{yyyy-MM-dd?HH:mm:ss}]?%l?%m?%n??????
- #设置other的日志输出控制台??log4j.appender.other=org.apache.log4j.RollingFileAppender??
- #设置other的输出日志??log4j.appender.other.File=${webapp.root}/WEB-INF/logs/log.log??
- #设置other的日志最大限制??log4j.appender.other.MaxFileSize=1024KB??
- #最多只保存20个备份文件??log4j.appender.other.MaxBackupIndex=1000??
- #输出INFO级别以上的日志??og4j.appender.other.Threshold=INFO???
- #设置使用灵活布局??log4j.appender.other.layout=org.apache.log4j.PatternLayout??
- #灵活定义输出格式??log4j.appender.other.layout.ConversionPattern=[%p][%d{yyyy-MM-dd?HH:mm:ss}]?%l?%t?%m?%n????
- ??######################################??
- #???????hibernate相关配置??######################################??
- ??#输出hibernate调试过程中的错误日志??
- log4j.logger.org.hibernate=other??#输出HQL查询调试日志??
- log4j.logger.org.hibernate.hql.ast.AST=other??#输出SQL语句调试日志??
- log4j.logger.org.hibernate.SQL=other??#输出?JDBC参数查询的日志??
- log4j.logger.org.hibernate.type=other??#输出缓存日志???
- log4j.logger.org.hibernate.cache=other??#输出事务日志??
- log4j.logger.org.hibernate.transaction=other??#输出获取JDBC资源日志??
- log4j.logger.org.hibernate.jdbc=other