1 在web.xml配置
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webName.root</param-value>
</context-param>
可以用System.getProperty("webName.root")来获取属性值。在Eclipse调试Web项目时,项目的路径是一个临时路径,不在真正的路径下,可以通过上述语句打印出属性值,来看看临时项目路径在哪里
2、Spring通过 org.springframework.web.util.WebAppRootListener 这个监听器来压入项目路径。但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener
这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能
3、部署在同一容器中的Web项目,要配置不同的<param-value>,不能重复
4、如果配置了
log4j.appender.file.File=${webName.root}/WEB-INF/logs/sample.log
log4j会自己自动建立logs目录, 不需要手工显式建立空的logs目录
常见错误:多个工程目录下的web.xml文件的<param-value>webName.root</param-value>相同,就算在tomcat的conf下配置不同的名,例如配置atcs2.xml指向另外一个工程目录,但是恰巧那个工程下的web.xml里面也配置相同的webAppRootKey,那么将会出现其中一个工程不能够访问的问题。
网页出现经典的The requested resource (/webName/) is not available错误!
问题发现方法:在myEclipse下配置log4j,之后会将一些不会报出来的错误亦会报出来,根据信息就可以发现是相同的webAppRootKey覆盖问题。在此我的log4j的报错信息:
Web app root system property already set to different value: 'atcs.root' = [D:\workspace2\Huadu_Atcs3\WebContent\] instead of [D:\WorkSpace\Huadu_Atcs3\WebContent\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
分享到:
相关推荐
Log4j 是一个广泛使用的Java日志记录框架,它允许开发者灵活地控制日志信息的输出。在SSH(Struts、Spring、Hibernate)等Java Web框架中,配置Log4j以使用相对路径是非常常见的需求,这有助于在不同环境下保持日志...
4. **webAppRootKey**:定义了系统的根目录变量名,其值与`log4j.properties`文件中相应变量一致,以确保路径正确无误。 #### 五、编写测试代码 在`src`目录下创建测试类`test.java`,并引入log4j相关的包: ```...
### Spring对Log4J的增强知识点详解 #### 一、Spring与Log4J集成概述 在Java企业级应用开发中,日志记录是一项至关重要的功能。它不仅有助于开发者调试程序,还能帮助系统管理员进行问题排查及性能分析。Spring...
在Spring框架中,配置Log4j是一个常见的任务,它允许我们对应用的日志输出进行精细控制,便于调试、监控和问题排查。以下是关于Spring配置Log4j的关键知识点: 1. **webAppRootKey参数**:这个参数用于指定Web应用...
Log4j是Apache的一个开源日志框架,它能够帮助开发者记录应用程序中的运行日志。日志文件的存放位置是日志管理中一个重要的配置项,因为它影响到日志的存储、查看、维护以及磁盘空间的使用。本文将详细介绍如何使用...
Log4j是Java平台上广泛使用的日志记录框架,它提供了灵活的日志配置和丰富的日志级别,便于开发者调试和分析程序运行状态。在Java Web项目中集成Log4j,可以帮助我们更好地管理和跟踪应用程序中的错误、警告和其他...
然后,我们需要复制spring-framework-2.5.6-with-dependencies\spring-framework-2.5.6\lib\log4j中的log4j相关的jar文件到项目中WEB-INF/lib目录中。 2.3 向项目中加入Struts2框架 将Struts2解压缩以后,我们需要...
2. **配置Log4j配置文件的位置**:接下来,通过`<context-param>`元素设置`log4jConfigLocation`参数,指明Log4j配置文件的位置。例如,`<param-value>classpath:conf/log4j.xml</param-value>`表示配置文件位于类...
接下来是 log4j 配置相关的参数,包括 `log4jConfigLocation`、`webAppRootKey` 和 `log4jRefreshInterval` 等。这些参数用于指定 log4j 配置文件的位置、应用程序的根目录和 log4j 配置刷新间隔等。 之后是多个 `...
`webAppRootKey`参数用于设置应用的根目录键,Log4jConfigListener则会在启动时寻找log4j.properties或log4j.xml配置文件,从而初始化日志系统。 5. **Struts2与Spring整合** 当Struts2和Spring整合时,通常需要...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender ``` 综上所述,从Tomcat迁移到WebLogic的过程中,涉及到的不仅仅是简单的文件复制,还需要细致地调整配置文件,并充分考虑到两个平台之间的差异性。通过...
在web.xml中,我们可以通过`<context-param>`标签来载入Log4j配置。这是因为Spring应用通常需要日志记录功能,而Log4j是常用的日志库之一。为了防止在同一容器中部署多个应用时的日志配置冲突,我们需要通过设置...
`Log4jConfigListener`用于初始化Log4j的日志配置。例如,可以通过以下方式在`web.xml`中配置: ```xml <param-name>webAppRootKey <param-value>your.app.name <listener-class>org.springframework....
- **context-param**:配置应用程序上下文参数,包括`webAppRootKey`和`log4jConfigLocation`,后者用于指定log4j配置文件的位置。 - **context-param**:配置Spring配置文件的位置,如`/WEB-INF/spring/...
`<context-param>`用于设置全局参数,例如`webAppRootKey`用于定义应用的根目录,`log4jConfigLocation`和`log4jRefreshInterval`分别指定Log4J配置文件的位置和刷新间隔,而`contextConfigLocation`则指定了Spring...
- resources目录通常包含项目的配置文件,例如Struts、Spring或Log4j的配置文件。这些文件必须被编译到target目录下,以便Jetty能够在运行时读取它们。 #### 配置Web.xml 在`web.xml`中配置Spring和Log4j的bean...