Spring 与Log4j 日志管理

在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理。

进行配置之前,首先得下载jar包(log4j-1.2.11.jar)

配置如下:

1.在web.xml中最上面加入如下配置代码:

[html] view plaincopy
 
  1. <!--log4j配置文件加载-->  
  2.    <context-param>      
  3.        <param-name>log4jConfigLocation</param-name>      
  4.        <param-value>/WEB-INF/log4j.properties</param-value>      
  5.    </context-param>  
  6.    <!--启动一个watchdog线程每1800秒扫描一下log4j配置文件的变化-->  
  7.    <context-param>      
  8.        <param-name>log4jRefreshInterval</param-name>      
  9.        <param-value>1800000</param-value>      
  10.    </context-param>   
  11.    <!--spring log4j监听器-->  
  12.    <listener>      
  13.        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>      
  14.    </listener>  
[html] view plaincopy
 
  1. <!--log4j配置文件加载-->  
  2.    <context-param>      
  3.        <param-name>log4jConfigLocation</param-name>      
  4.        <param-value>/WEB-INF/log4j.properties</param-value>      
  5.    </context-param>  
  6.    <!--启动一个watchdog线程每1800秒扫描一下log4j配置文件的变化-->  
  7.    <context-param>      
  8.        <param-name>log4jRefreshInterval</param-name>      
  9.        <param-value>1800000</param-value>      
  10.    </context-param>   
  11.    <!--spring log4j监听器-->  
  12.    <listener>      
  13.        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>      
  14.    </listener>  


2.把log4j.properties配置文件放在上面配置的指定的目录下

log4j.properties配置文件:

[plain] view plaincopy
 
  1. ######################################  
  2. #         log4j配置相关说明  
  3. ######################################  
  4.   
  5. #%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL   
  6. #%r 输出自应用启动到输出该log信息耗费的毫秒数   
  7. #%c 输出所属的类目,通常就是所在类的全名   
  8. #%t 输出产生该日志事件的线程名  
  9. #%m 输出代码中指定的信息   
  10. #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”   
  11. #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},输出类似: 2002年10月18日 22:10:28,921   
  12. #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)   
  13.   
  14. #log4j提供4种布局:   
  15. #org.apache.log4j.HTMLLayout(以HTML表格形式布局)  
  16. #org.apache.log4j.PatternLayout(可以灵活地指定布局模式),  
  17. #org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),  
  18. #org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息  
  19.   
  20. #log4j中有五级logger 输出级别:  
  21. #FATAL 0   
  22. #ERROR 3   
  23. #WARN 4   
  24. #INFO 6   
  25. #DEBUG 7  
  26.   
  27. ######################################  
  28. #          log4j相关配置  
  29. ######################################  
  30.   
  31. #日志输出级别  
  32. log4j.rootLogger=INFO,stdout,other  
  33.   
  34. #设置stdout的日志输出控制台  
  35. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  36. #输出日志到控制台的方式,默认为System.out  
  37. log4j.appender.stdout.Target = System.out  
  38. #设置使用灵活布局  
  39. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  40. #灵活定义输出格式  
  41. log4j.appender.stdout.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}] %l %m %n    
  42.   
  43. #设置other的日志输出控制台  
  44. log4j.appender.other=org.apache.log4j.RollingFileAppender  
  45. #设置other的输出日志  
  46. log4j.appender.other.File=${webapp.root}/WEB-INF/logs/log.log  
  47. #设置other的日志最大限制  
  48. log4j.appender.other.MaxFileSize=1024KB  
  49. #最多只保存20个备份文件  
  50. log4j.appender.other.MaxBackupIndex=1000  
  51. #输出INFO级别以上的日志  
  52. og4j.appender.other.Threshold=INFO   
  53. #设置使用灵活布局  
  54. log4j.appender.other.layout=org.apache.log4j.PatternLayout  
  55. #灵活定义输出格式  
  56. log4j.appender.other.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}] %l %t %m %n    
  57.   
  58. ######################################  
  59. #       hibernate相关配置  
  60. ######################################  
  61.   
  62. #输出hibernate调试过程中的错误日志  
  63. log4j.logger.org.hibernate=other  
  64. #输出HQL查询调试日志  
  65. log4j.logger.org.hibernate.hql.ast.AST=other  
  66. #输出SQL语句调试日志  
  67. log4j.logger.org.hibernate.SQL=other  
  68. #输出 JDBC参数查询的日志  
  69. log4j.logger.org.hibernate.type=other  
  70. #输出缓存日志   
  71. log4j.logger.org.hibernate.cache=other  
  72. #输出事务日志  
  73. log4j.logger.org.hibernate.transaction=other  
  74. #输出获取JDBC资源日志  
  75. log4j.logger.org.hibernate.jdbc=other

相关推荐