原文出处及讨论: http://www.blogjava.net/calvin/archive/2005/12/31/26150.html
Spring最擅长的,就是在别家的蛋糕上再加些cream,让你J2EE without Spring的时候心痒痒。
log4j,可以有如下的cream:
1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。
2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。
3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path。
在web.xml 添加
<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>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
在上文的配置里,
Log4jConfigListener会去WEB-INF/log4j.propeties 读取配置文件;
开一条watchdog线程每60秒扫描一下配置文件的变化;
并把web目录的路径压入一个叫webapp.root的系统变量。
然后,在log4j.properties 里就可以这样定义logfile位置
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log
如果有多个web应用,怕webapp.root变量重复,可以在context-param里定义webAppRootKey。
---
我的配置:
web.xml增加
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>
<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>3000</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
log4j.properties:
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/scxt.log
分享到:
相关推荐
在Spring 4.3.7版本中,配置Log4j主要是通过`log4j.properties`或`log4j.xml`文件完成的。这个文件通常位于项目的类路径下,以便于Spring在启动时自动加载。这里我们将重点关注`log4j.properties`文件的配置。 `log...
Spring框架作为一个广泛应用的Java企业级应用开发框架,提供了一种灵活的日志配置机制,允许开发者选择不同的日志实现,如Log4j、Logback等。本篇将详细介绍如何在Spring项目中配置日志系统为Log4j。 首先,我们要...
最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml <param-name>log4jConfigLocation ...
1. **在Spring中使用Log4j**:首先,需要在Spring的`applicationContext.xml`配置文件中引入Log4j配置: ```xml <bean id="log4jInitialization" class="org.springframework.beans.factory.config....
配置 Spring 中的 Log4j,首先需要在项目的类路径下放置 Log4j 配置文件。配置文件中,我们可以通过以下关键元素来定制日志行为: 1. **日志级别(Logging Level)**:包括 TRACE, DEBUG, INFO, WARN, ERROR, FATAL...
2. **配置Log4j**:创建一个名为`log4j.properties`的配置文件,设置日志级别、输出目的地等。例如: ``` log4j.rootLogger=DEBUG, stdout, FILE log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j...
通常,我们会在Spring的配置文件中定义一个Bean,让Spring自动初始化Log4j: ```xml <bean id="logger" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> ...
3. **配置SpringBoot**:在`application.properties`中指定Log4j配置文件位置。 ```properties logging.config=classpath:log4j.properties ``` ### SpringBoot与Log4j2 Log4j2作为Log4j的升级版,提供更好的性能...
在项目中配置Log4j,通常需要一个配置文件(如log4j.properties或log4j.xml),定义日志输出的格式、级别和目标。例如,通过以下配置可以将日志信息写入名为"app.log"的文件: ```properties # log4j.properties ...
自用的log配置文件,比较详细,喜欢的可以拿去,借用了一些人的配置
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
本项目"SpringLog4JDemo"是一个基于Eclipse的实战示例,旨在教会开发者如何在Spring环境中配置和使用Log4J。 首先,Log4J是Apache组织开发的一款强大的日志处理框架,它提供了灵活的日志级别(DEBUG, INFO, WARN, ...
"spring-boot-starter-log4j2"就是Spring Boot为Log4j2提供的一个启动器,包含了Log4j2运行所需的jar包。当我们添加这个依赖到项目中,Spring Boot会自动配置Log4j2,无需手动进行繁琐的初始化设置。 三、集成步骤 ...
在这个"springmvc log4j配置 demo"中,我们将探讨如何将Log4j集成到Spring MVC应用中,以便进行高效且有组织的日志管理。 首先,Log4j是Apache的一个开源项目,提供了一套灵活的日志记录系统。它的优点在于可配置性...
Log4j 是一个广泛使用的日志记录框架,它提供了灵活的日志配置和多种输出格式,便于开发人员调试和监控应用程序。将 Log4j 集成到 Spring MVC 应用中,可以方便地进行日志管理和分析。 1. **Log4j 概述** - 日志...
3. **log4jRefreshInterval**:这个参数指定了Spring刷新Log4j配置文件的间隔时间,单位是毫秒。例如,设置为60000毫秒(即60秒),意味着每60秒Log4j会检查配置文件是否有更新,并据此重新配置日志输出。 4. **Log...
下面是一个较为完整的 Log4j2.xml 配置模板: ```xml <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration 后面的 status,这个用于设置 log4j2 自身...
2. **配置Log4j**:创建一个名为`log4j.properties`的配置文件,放置在`src/main/resources`目录下。在这个文件中,我们可以指定日志输出的级别(DEBUG, INFO, WARN, ERROR等)、输出目的地(控制台、文件、数据库等...
在Spring框架中,可以通过Spring的Log4j配置来统一管理日志,方便调试和问题排查。 在提供的文件名称列表中,虽然没有具体的jar包名称,但通常Spring框架所需的jar包包括:spring-core、spring-context、spring-...
- **说明**:通过设置`log4jRefreshInterval`,可以实现在不重启服务器的情况下动态更新Log4J配置。 4. **`Log4jConfigListener`**: - **作用**:监听器类,用于初始化和刷新Log4J配置。 - **示例**: ```xml ...