`
Sev7en_jun
  • 浏览: 1227716 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
84184fc0-d0b6-3f7f-a3f0-4202acb3caf5
Apache CXF使用s...
浏览量:111483
社区版块
存档分类
最新评论

在Web应用中利用Spring配置log4j

 
阅读更多

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

分享到:
评论

相关推荐

    springmvc log4j 配置 demo

    在IT行业中,日志记录是系统开发不...通过这个demo,你可以理解如何在Spring MVC项目中整合Log4j,以及如何有效地利用日志系统来跟踪和调试你的应用程序。这有助于提升开发效率,优化系统性能,并为问题排查提供便利。

    搭建SSH框架需要引入的Struts2包(log4j,spring-web,struts2-spring-plugin)

    Log4j提供了丰富的配置选项,允许开发者定制日志级别、输出格式和目的地,使得在项目运行过程中可以方便地收集和分析信息。 在实际搭建SSH框架时,我们需要将这些jar文件添加到项目的类路径中。对于Struts2和Spring...

    SSH框架中配置log4j的方法

    1. **动态调整日志级别**:通过修改`log4j.properties`文件中的配置,可以在不重启Web应用的情况下调整日志级别和策略。这对于生产环境中的调试尤为重要,因为它允许开发者根据实际需求灵活地调整日志记录的详细程度...

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

    在Web应用中,如使用的是Servlet环境,可以通过在`web.xml`中配置`ContextLoaderListener`来加载Log4j配置,同时,我们还可以创建一个Servlet,当接收到特定请求时,更新Log4j配置。 ```xml &lt;!-- web.xml 示例 --&gt; ...

    Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效

    Log4j、Log4j2和Fastjson是Java开发中常用的三个库,它们在软件开发中扮演着重要的角色。Log4j是Apache的一个开源项目,主要用于日志记录,提供了灵活的日志配置,允许开发者根据需求调整日志输出的级别和格式。Log4...

    tomcat下struts2的log4j日志配置.doc

    在J2EE应用中,尤其是在Tomcat这样的Servlet容器中使用Log4j,通常需要在Web应用的`web.xml`配置文件中指定日志初始化参数。这可以通过在`web.xml`中添加一个`context-param`元素来实现,将Log4j的配置文件路径作为...

    springboot+mybatis+log4j2

    在项目中,我们需要修改Spring Boot的默认配置,指定使用Log4j2,并在项目的配置文件中(如`log4j2.xml`或`log4j2.json`)定义日志级别、输出格式和目标位置。 在项目中,"springBootMybatis"这个压缩包文件可能...

    Log4j中相对路径的问题

    在`web.xml`中,你需要定义这个`Log4jInit`Servlet,并设置初始化参数`log4j`为`WEB-INF/classes/log4j.properties`的路径,这样在Web应用启动时,`Log4jInit`Servlet就会被调用,从而动态设置日志路径。 总结来说...

    spring2在web下对log4j的增强

    标题“spring2在web下对log4j的增强”指的是在Spring 2.x版本的框架中,如何在Web应用程序环境中优化和扩展Log4j的日志处理能力。这通常涉及到Spring的ApplicationContext与Log4j的集成,以实现更灵活、可配置的日志...

    spring3_junit4.10_log4j

    描述中提到,Spring 3.0需要JUnit 4.5以上的版本,而JUnit 4.10在实际应用中表现良好,同时也使用了Log4j进行日志记录。这些标签 "spring3", "junit4.10", "log4j" 和 "jar" 提供了关键组件的信息,表明这是一个Java...

    slf4j1.7.25+ log4j2.8.2 集成jar包

    在项目中,你需要将这两个jar包加入到类路径中,同时配置Log4j的配置文件,以指定日志输出的细节。 5. **配置Log4j** 通常,Log4j的配置文件(例如log4j.properties或log4j.xml)会包含日志输出的级别(如DEBUG、...

    SpringBoot2.X整合Mybatis代码示例2-使用配置文件方式+Log4j

    在现代Java Web应用开发中,Spring Boot以其便捷的起步配置和强大的依赖管理赢得了广大开发者喜爱。而Mybatis作为轻量级的持久层框架,搭配Spring Boot可以实现灵活且高效的数据库操作。本文将深入探讨如何在...

    SSH的配置、事务管理和Log4j的配置

    在IT行业中,SSH(Struts、Spring、Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。这些技术各自扮演着不同的角色,Struts负责控制层,Spring提供业务逻辑和服务层支持,而...

    java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)

    对于Web应用,如果你使用的是Spring Boot,可以在`src/main/resources`目录下创建`log4j2.xml`,因为Spring Boot默认使用Log4j2。配置方法类似,但需按照Log4j2的XML语法编写。 在实际开发中,我们可能需要根据不同...

    struts2+hibernate+spring+mysql+tomcat+log4j

    Struts2、Hibernate、Spring、Log4j、Tomcat 和 MySQL 是Java Web开发中的关键组件,它们共同构建了一个高效、可扩展的Web应用程序框架。以下是对这些技术的详细解释: **Struts2**:Struts2是一个基于MVC(Model-...

    springmvc spring3 hibernate4 log4j

    综上所述,这个项目是一个利用Spring MVC、Spring 3、Hibernate 4和Log4j构建的Web应用,结合了Bootstrap进行前端展示,具备完整的注解配置和日志记录功能,适合学习和快速开发。而"smartwifi"可能是项目名称或其中...

    log4j.properties配置详解

    ### Log4j.properties配置详解 #### 一、Log4j简介与配置流程 Log4j是Apache的一个开源项目,用于实现日志记录...通过上述步骤,我们可以充分利用Log4j的功能来优化我们的应用程序,使得日志记录变得更加灵活和高效。

    idea 14 ssm 全注解框架+log4j+事物控制+mybatis基础Dao配置

    SSM(Spring、SpringMVC、MyBatis)框架是Java开发中常用的一种组合,用于构建企业级Web应用。在Idea 14这个集成开发环境中,我们可以利用SSM的全注解方式来简化配置,提高开发效率。下面将详细阐述SSM框架、Log4j...

    Spring boot+Mybatis+log4j项目实例

    在本项目实例中,我们将深入探讨如何利用Spring Boot、Mybatis和Log4j这三大核心框架构建一个实际的Web应用程序。Spring Boot简化了Spring应用程序的初始设置和配置,Mybatis作为轻量级的持久层框架提供了灵活的SQL...

    搭建struts hibernate log4j spring(好东西)

    本文将详细介绍如何在Web项目中集成Struts、Hibernate、Log4j以及Spring框架,构建一个完整的Java Web应用程序环境。这些技术组合在一起能够提供强大的功能支持,包括MVC架构实现、对象关系映射(ORM)、日志记录...

Global site tag (gtag.js) - Google Analytics