FROM: http://space.baidu.com.cn/jadmin/blog/item/c734ab58a159c6d79c8204b0.html
Spring提供了一个很实用的工具,可以让Web应用灵活配置log4j,这个工具类是:
org.springframework.web.util.Log4jConfigListener
org.springframework.web.util.Log4jConfigServlet
由于:
Note that this class has been deprecated for containers implementing
Servlet API 2.4 or higher, in favor of{@linkLog4jConfigListener}.</i><br>
According to Servlet 2.4, listeners must be initialized before load-on-startup
servlets. Many Servlet 2.3 containers already enforce this behavior
(see ContextLoaderServlet javadocs for details). If you use such a container,
this servlet can be replaced with Log4jConfigListener.
建议使用org.springframework.web.util.Log4jConfigListener,而非org.springframework.web.util.Log4jConfigServlet,下面来说下Log4jConfigListener的用法:
其实很简单,只要在web.xml文件中配置相关参数和注册此监听器即可,下面是相应的配置片段:
<!-- 配置log4j配置文件的路径,可以是xml或 properties文件(此参数必须配)-->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</context-param>
<!-- 每隔多少毫秒扫描一下配置文件的变化(此参数可选配) -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!-- spring框架默认定义webAppRootKey的值为webapp.root,若不配此参数默认值就是webapp.root(因此,此参数可选配) -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webName.root</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
这样就可以在log4j的配置中如下进行了:
#log4j.rootLogger=INFO,A1,R
#log4j.rootLogger=DEBUG,A1,R
log4j.rootLogger=DEBUG,consApp,logApp,ErrorLog
log4j.appender.consApp=org.apache.log4j.ConsoleAppender
log4j.appender.consApp.layout=org.apache.log4j.PatternLayout
log4j.appender.consApp.layout.ConversionPattern=[%p] %l %d{yyyy-MM-dd HH:mm:ss} %m%n
# Define all the appenders
log4j.appender.logApp=org.apache.log4j.DailyRollingFileAppender
#use web.xml <param-value>==>webName.root
log4j.appender.logApp.File=${webName.root}/WEB-INF/logs/log.log
log4j.appender.logApp.Append=true
log4j.appender.logApp.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.logApp.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.logApp.layout = org.apache.log4j.PatternLayout
log4j.appender.logApp.layout.ConversionPattern =[%p] %l %d{yyyy-MM-dd HH:mm:ss} %m%n
## ERROR LOG
log4j.appender.ErrorLog=org.apache.log4j.RollingFileAppender
##定义只有error级别输出的到此文件,webName.root其实是webRoot目录
log4j.appender.ErrorLog.File=${webName.root}/WEB-INF/logs/error.log
log4j.appender.ErrorLog.Append = true
log4j.appender.ErrorLog.Threshold =ERROR
log4j.appender.ErrorLog.MaxFileSize=2048KB
log4j.appender.ErrorLog.MaxBackupIndex=20
log4j.appender.ErrorLog.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorLog.layout.ConversionPattern =[%p] %l %d{yyyy-MM-dd HH:mm:ss} %m%n
分享到:
相关推荐
在IT行业中,日志记录是系统开发不...通过这个demo,你可以理解如何在Spring MVC项目中整合Log4j,以及如何有效地利用日志系统来跟踪和调试你的应用程序。这有助于提升开发效率,优化系统性能,并为问题排查提供便利。
Log4j提供了丰富的配置选项,允许开发者定制日志级别、输出格式和目的地,使得在项目运行过程中可以方便地收集和分析信息。 在实际搭建SSH框架时,我们需要将这些jar文件添加到项目的类路径中。对于Struts2和Spring...
1. **动态调整日志级别**:通过修改`log4j.properties`文件中的配置,可以在不重启Web应用的情况下调整日志级别和策略。这对于生产环境中的调试尤为重要,因为它允许开发者根据实际需求灵活地调整日志记录的详细程度...
在Web应用中,如使用的是Servlet环境,可以通过在`web.xml`中配置`ContextLoaderListener`来加载Log4j配置,同时,我们还可以创建一个Servlet,当接收到特定请求时,更新Log4j配置。 ```xml <!-- web.xml 示例 --> ...
Log4j、Log4j2和Fastjson是Java开发中常用的三个库,它们在软件开发中扮演着重要的角色。Log4j是Apache的一个开源项目,主要用于日志记录,提供了灵活的日志配置,允许开发者根据需求调整日志输出的级别和格式。Log4...
在J2EE应用中,尤其是在Tomcat这样的Servlet容器中使用Log4j,通常需要在Web应用的`web.xml`配置文件中指定日志初始化参数。这可以通过在`web.xml`中添加一个`context-param`元素来实现,将Log4j的配置文件路径作为...
在项目中,我们需要修改Spring Boot的默认配置,指定使用Log4j2,并在项目的配置文件中(如`log4j2.xml`或`log4j2.json`)定义日志级别、输出格式和目标位置。 在项目中,"springBootMybatis"这个压缩包文件可能...
在`web.xml`中,你需要定义这个`Log4jInit`Servlet,并设置初始化参数`log4j`为`WEB-INF/classes/log4j.properties`的路径,这样在Web应用启动时,`Log4jInit`Servlet就会被调用,从而动态设置日志路径。 总结来说...
标题“spring2在web下对log4j的增强”指的是在Spring 2.x版本的框架中,如何在Web应用程序环境中优化和扩展Log4j的日志处理能力。这通常涉及到Spring的ApplicationContext与Log4j的集成,以实现更灵活、可配置的日志...
描述中提到,Spring 3.0需要JUnit 4.5以上的版本,而JUnit 4.10在实际应用中表现良好,同时也使用了Log4j进行日志记录。这些标签 "spring3", "junit4.10", "log4j" 和 "jar" 提供了关键组件的信息,表明这是一个Java...
在项目中,你需要将这两个jar包加入到类路径中,同时配置Log4j的配置文件,以指定日志输出的细节。 5. **配置Log4j** 通常,Log4j的配置文件(例如log4j.properties或log4j.xml)会包含日志输出的级别(如DEBUG、...
在现代Java Web应用开发中,Spring Boot以其便捷的起步配置和强大的依赖管理赢得了广大开发者喜爱。而Mybatis作为轻量级的持久层框架,搭配Spring Boot可以实现灵活且高效的数据库操作。本文将深入探讨如何在...
在IT行业中,SSH(Struts、Spring、Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。这些技术各自扮演着不同的角色,Struts负责控制层,Spring提供业务逻辑和服务层支持,而...
对于Web应用,如果你使用的是Spring Boot,可以在`src/main/resources`目录下创建`log4j2.xml`,因为Spring Boot默认使用Log4j2。配置方法类似,但需按照Log4j2的XML语法编写。 在实际开发中,我们可能需要根据不同...
Struts2、Hibernate、Spring、Log4j、Tomcat 和 MySQL 是Java Web开发中的关键组件,它们共同构建了一个高效、可扩展的Web应用程序框架。以下是对这些技术的详细解释: **Struts2**:Struts2是一个基于MVC(Model-...
综上所述,这个项目是一个利用Spring MVC、Spring 3、Hibernate 4和Log4j构建的Web应用,结合了Bootstrap进行前端展示,具备完整的注解配置和日志记录功能,适合学习和快速开发。而"smartwifi"可能是项目名称或其中...
### Log4j.properties配置详解 #### 一、Log4j简介与配置流程 Log4j是Apache的一个开源项目,用于实现日志记录...通过上述步骤,我们可以充分利用Log4j的功能来优化我们的应用程序,使得日志记录变得更加灵活和高效。
SSM(Spring、SpringMVC、MyBatis)框架是Java开发中常用的一种组合,用于构建企业级Web应用。在Idea 14这个集成开发环境中,我们可以利用SSM的全注解方式来简化配置,提高开发效率。下面将详细阐述SSM框架、Log4j...
在本项目实例中,我们将深入探讨如何利用Spring Boot、Mybatis和Log4j这三大核心框架构建一个实际的Web应用程序。Spring Boot简化了Spring应用程序的初始设置和配置,Mybatis作为轻量级的持久层框架提供了灵活的SQL...
本文将详细介绍如何在Web项目中集成Struts、Hibernate、Log4j以及Spring框架,构建一个完整的Java Web应用程序环境。这些技术组合在一起能够提供强大的功能支持,包括MVC架构实现、对象关系映射(ORM)、日志记录...