今天在项目最后整合过程中遇到了一个问题:
原项目复制用于正式数据的录入,借此保证测试平台和正式数据平台的并行运作
实现方式为:
把原有项目拷贝一份,重命名项目,并配置web访问路径。
但遭遇问题:抛出webAppRootKey异常。经常,这个异常和log4j的配置有关。
因为上述两份相同的项目都没有配置webAppRootKey.
那系统默认的就是缺省的keyvalue:webapp.root
这个时候冲突就产生了,解决方案为:
在web.xml中增加log4j的配置:
<!--此参数可用于 "Log4jConfigListener"-->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webName.root</param-value> <!--此处做更改 -->
</context-param>
上述定义后,即可在Web Container启动时将把ROOT的绝对路径写到系统变量里。
然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中
如下:
编写log4j.properties属性文件,使用web.xml配置的全局变量:
log4j.appender.A_default.File=${webName.root}/WEB-INF/logs/log4j.log
分享到:
相关推荐
2. `log4j.appender.ServerDailyRollingFile.File=${webApp.root}/WEB-INF/logs/sysout.log` 这里使用了之前在`Web.xml`中定义的`webApp.root`属性,指定日志文件的保存位置为Web应用的`WEB-INF/logs`目录下,文件名...
- `spring.jar`或`spring-web.jar`:这两个包中包含了log4j.properties的监听器,使得可以在不重启服务器的情况下实时更新日志配置文件。需要注意的是,如果只引入`spring-web.jar`,可能会导致程序报错,此时需要...
`log4jConfigLocation` 指定了Log4j配置文件的位置,通常放在`WEB-INF/classes`目录下。`log4jRefreshInterval` 参数定义了Log4j配置文件的刷新间隔(以毫秒计),这样可以实现动态更新日志配置,无需重启服务器。 ...
- **说明**:通过设置`log4jRefreshInterval`,可以实现在不重启服务器的情况下动态更新Log4J配置。 4. **`Log4jConfigListener`**: - **作用**:监听器类,用于初始化和刷新Log4J配置。 - **示例**: ```xml ...
在这个例子中,配置文件`log4j.properties`位于`/WEB-INF`目录下。Spring会根据这个路径找到并加载Log4j的配置。 3. **log4jRefreshInterval**:这个参数指定了Spring刷新Log4j配置文件的间隔时间,单位是毫秒。...
然后,我们需要复制spring-framework-2.5.6-with-dependencies\spring-framework-2.5.6\lib\log4j中的log4j相关的jar文件到项目中WEB-INF/lib目录中。 2.3 向项目中加入Struts2框架 将Struts2解压缩以后,我们需要...
log4j.appender.A1.File=D:/apache-tomcat-6.0.18/webapps/项目/WEB-INF/logs/app.log ``` 使用绝对路径虽然简单,但缺点是灵活性差,不便于在不同环境下部署。 2. 利用JVM环境变量: ```properties log4j....
3. **添加Log4j监听器**:引入`<listener>`元素,指定监听器类`org.springframework.web.util.Log4jConfigListener`。这个监听器会在Web应用启动时读取配置文件并初始化Log4j,确保日志系统的正确配置。 4. **配置...
Tomcat 部署多个项目解决方案 在 Tomcat 中部署多个项目时,可能会遇到一些问题,例如多个项目间的配置冲突、日志记录问题等。以下是解决这些问题的方法和相关知识点。 问题 1:java.lang.IllegalStateException ...
`webAppRootKey`参数用于设置应用的根目录键,Log4jConfigListener则会在启动时寻找log4j.properties或log4j.xml配置文件,从而初始化日志系统。 5. **Struts2与Spring整合** 当Struts2和Spring整合时,通常需要...
最后,还需要对项目的日志配置文件(`log4j.properties`)进行适当的调整,确保日志记录的格式和输出位置符合新环境的要求。 ```properties log4j.rootLogger=INFO,stdout,logfile log4j.appender.stdout=org.apache....
- **复制Log4j JAR文件**:将Spring框架解压文件夹下的`lib\log4j`中的所有jar文件复制到项目的`WEB-INF/lib`目录下。 - **配置web.xml**:编辑项目中的`WEB-INF/web.xml`文件,添加如下配置: - **display-name**...
接下来是 log4j 配置相关的参数,包括 `log4jConfigLocation`、`webAppRootKey` 和 `log4jRefreshInterval` 等。这些参数用于指定 log4j 配置文件的位置、应用程序的根目录和 log4j 配置刷新间隔等。 之后是多个 `...
在`web.xml`中配置Spring和Log4j的bean配置文件: ```xml <param-name>webAppRootKey <param-value>rhinoceros.root <param-name>contextConfigLocation <param-value>classpath:spring-*.xml ...
这允许在应用启动时自动配置Log4j,使得日志输出适应当前Web应用。 ### 配置参数 (Context Parameters) `<context-param>`元素用于定义全局的初始化参数,这些参数在整个Web应用的生命周期中有效,可以被监听器、...
Tomcat服务器下../webapps/项目名称/WEB-INF/web.xml。 【webAppRootKey】与其他项目下的配置值决不可相同!。 webAppRootKey:就好比身份证,不存在2个人用同一个身份证号。 在同一个tomcat下,它的值是唯一的。