我在我的应用程序中使用Log4j进行日志记录。目前我将log4j.xml文件放置在WEB-INF/classes中。 以下是我使用的配置来加载log4j.xml文件。
<!-- language: xml -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
现在我需要将log4j.xml文件放置在我的war文件之外。最可能的位置是JBOSS_HOME/server/default/deploy/settings。在settings目录中,我需要放置我的log4j.xml。
我尝试通过编辑run.bat来设置jboss类路径并加载它,如下所示: set JBOSS_CLASSPATH=%RUN_CLASSPATH%;%JBOSS_HOME%\server\default\deploy\settings 并在web.xml中使用以下内容
<!-- language: xml -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
但是在部署应用程序时,它抛出异常。异常是java.lang.IllegalArgumentException:无效的“log4jConfigLocation”参数:类路径资源[ /log4j.xml ]无法解析为URL,因为它不存在
现在我的问题是如何加载它。