Spring集成log4j日志管理

时间:2022-12-18 22:11:37

原文地址:http://blog.csdn.net/naruto1021/article/details/7969535

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

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

配置如下:

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

  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>
  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配置文件:

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