`

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
分享到:
评论

相关推荐

    spring简单注解+log4j记录日志

    综上所述,"spring简单注解+log4j记录日志"这个主题涵盖了Spring框架中的注解使用、Log4j日志系统以及AOP的应用。通过学习这些内容,初学者可以更好地理解和实践Spring框架,同时提高代码的可维护性和调试效率。在...

    spring日志配置为log4j

    总之,将Spring的日志配置为Log4j,涉及到引入Log4j库、编写`log4j.properties`配置文件、以及在Spring配置文件中声明使用Log4j。理解这些步骤和配置项对于优化日志记录,排查问题以及监控系统运行状态至关重要。

    spring整合log4j

    Spring提供了与各种日志框架的集成,包括Log4j,使得日志配置更加方便。 整合Spring和Log4j,我们需要完成以下步骤: 1. **引入依赖**:在项目的Maven或Gradle构建文件中添加Log4j的依赖库。对于Maven,可以在`pom...

    spring框架和log4j日志用到的jar包

    使用Spring时,开发者还需要注意与其他Java库的兼容性,例如JDBC驱动、ORM框架(如Hibernate、MyBatis)的jar包,以及用于日志记录的log4j.jar、log4j-api.jar和log4j-core.jar。在实际项目中,这些jar包通常会被...

    SSM整合中的Log4j日志的配置详情

    Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...

    spring log4j 实例

    Spring框架是Java领域广泛使用的轻量级框架,而Log4j则是日志记录领域的经典工具,提供了丰富的日志配置和管理功能。本实例结合Spring和Log4j,将为你提供一个实用的日志解决方案。 首先,我们要理解Spring是如何...

    Spring的log4j以及配置文件

    在Spring框架中,我们通常会结合使用Log4j来实现日志记录,因为Log4j具有高度可配置性、性能优秀和功能丰富的特点。 Log4j是Apache软件基金会的一个项目,它是一个强大的日志工具,支持多种输出格式,包括控制台、...

    Spring版本Log4J的Demo

    本项目"SpringLog4JDemo"将包含一个完整的Eclipse工程,其中展示了如何在Spring环境中配置Log4J,以及如何在代码中使用日志。通过这个项目,你可以学习到如何结合Spring和Log4J进行日志管理,提升应用的可维护性和...

    Spring项目中怎么配置log4j

    最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml &lt;param-name&gt;log4jConfigLocation ...

    spring mvc log4j

    将 Log4j 集成到 Spring MVC 应用中,可以方便地进行日志管理和分析。 1. **Log4j 概述** - 日志框架的作用:记录应用程序运行过程中的信息,如错误、警告、调试信息等,帮助开发者追踪和定位问题。 - Log4j 特点...

    spring-boot-starter-log4j2

    二、Spring Boot与Log4j2的结合 Spring Boot通过starter机制简化了第三方库的引入和配置。"spring-boot-starter-log4j2"就是Spring Boot为Log4j2提供的一个启动器,包含了Log4j2运行所需的jar包。当我们添加这个...

    Spring Aop+Log4j 动态日志

    本篇将详细探讨如何结合Spring AOP和Log4j实现动态日志记录。 Spring AOP是Spring框架的一个重要特性,它允许我们以一种声明式的方式处理横切关注点,如日志、事务管理等。AOP的核心概念包括切面(Aspect)、通知...

    log4j与spring的详细配置。

    综上所述,Log4j与Spring的整合使得日志管理更加便捷,同时,Log4j丰富的配置选项和强大的功能使其成为Java日志处理的首选工具。理解并熟练运用Log4j配置,能够极大地提升开发效率和问题排查能力。在实际开发中,...

    Spring MVC 框架 整合log4j

    3. **在Spring MVC中使用Log4j**:在Spring MVC的Controller或其他需要记录日志的类中,引入`org.apache.log4j.Logger`,并创建一个实例。例如: ```java import org.apache.log4j.Logger; public class ...

    动态设置log4j的日志级别

    要实现动态设置Log4j日志级别,通常有以下几种方法: 1. **通过配置文件**:最常见的方式是通过修改log4j.properties或log4j.xml配置文件。例如,你可以将某个类或整个包的日志级别设置为WARN: ```xml ```...

    Spring对Log4J的增强.txt

    Spring框架作为Java开发领域的主流框架之一,提供了与Log4J等日志框架集成的能力,从而增强了应用程序的日志管理功能。 #### 二、Spring配置Log4J Spring框架通过一系列的配置选项来支持Log4J,这些配置通常位于`...

    springmvc log4j2 logback 注解 jackson 日志脱敏实现源码

    本资源包含的是关于`SpringMVC`、`Log4j2`、`Logback`以及`Jackson`的日志脱敏实现源码,提供了多种实现方式,旨在帮助开发者在保障信息安全的同时,充分利用日志进行系统分析。 1. **基于正则表达式的日志脱敏实现...

    Spring5加入Log4j日志所需的jar包

    总结起来,Spring 5集成Log4j2需要的jar包包括log4j-core、log4j-api、slf4j-api和log4j-slf4j-impl,同时需要一个配置文件来定义日志的行为。通过SLF4J接口,开发者可以方便地在不修改代码的情况下切换不同的日志...

    log4j(二):动态配置日志输出路径

    Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的功能和灵活的配置,使得我们可以根据需要动态地改变日志的输出路径。本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。 首先,我们要理解Log4j...

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...

Global site tag (gtag.js) - Google Analytics